js 光标位置处理

摘要:
/***获取所选文本*返回所选内容,toString以获取结果。所选内容包含起始光标位置信息**/functiongetSelectText(){vartext,userSelection=window.getSelection()||document.selection.createRange();//notie||ieif(!(text=userSelection.tex
  /**
* 获取选中文字
* 返回selection,toString可拿到结果,selection含有起始光标位置信息等
**/
function getSelectText() { var text, userSelection = window.getSelection()||document.selection.createRange();// not IE || ie if (!(text = userSelection.text)) text = userSelection; return text; } /**
* 获取光标位置
* 对 input、textarea有效,对contenteditable:true方式不生效
**/
function getCursortPosition (textDom) { var cursorPos = 0; if (document.selection) { // IE Support textDom.focus (); var selectRange = document.selection.createRange(); selectRange.moveStart ('character', -textDom.value.length); cursorPos = selectRange.text.length; }else if (textDom.selectionStart || textDom.selectionStart == '0') { // 非 IE cursorPos = textDom.selectionStart; } return cursorPos; } /**
* 设置光标位置
* 有效对象同光标获取
**/
function setCaretPosition(textDom, pos){ if(textDom.setSelectionRange) { // IE Support textDom.focus(); textDom.setSelectionRange(pos, pos); }else if (textDom.createTextRange) { // 非 IE var range = textDom.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }

免责声明:文章转载自《js 光标位置处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt .pro文件详解记录微信小程序开发的一个坑:使用textarea组件的时候,外层滚动会发生文字错位(穿透悬浮)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

单片机中断的IE和IP寄存器(摘抄)

收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一、中断允许寄存器IE    CPU对中断源的开放或中断屏蔽的控制是通过中断允许寄存器IE设置的,IE既可按字节地址寻址(其字节地址为A8H),又可按位寻址。AT89S52单片机中的6个中断矢量都是可屏蔽中断,通过对IE的某些位置位和清0,允许或禁止某个中断,当对IE的EA位清0时...

多进程浏览器、多线程页面渲染与js的单线程

线程与进程 说到单线程,就得从操作系统进程开始说起。在早期的操作系统中并没有线程的概念,进程是能拥有资源和独立运行的最小单位,也是程序执行的最小单位。任务调度采用的是时间片轮转的抢占式调度方式,而进程是任务调度的最小单位,每个进程有各自独立的一块内存,使得各个进程之间内存地址相互隔离。后来,随着计算机的发展,对CPU的要求越来越高,进程之间的切换开销较大,...

微信小程序根据生日获取年龄

// 根据出生日期计算年龄周岁 function getAge(strBirthday) { var returnAge = ''; var mouthAge = ''; var strBirthdayArr = strBirthday.split("-"); var birthYear = strBirthdayArr[0]; var...

deb包的2种安装安装方法

一、cydia重启自动安装:用ifunbox进入//var/root/Media/Cydia/AutoInstallCydia/AutoInstall 需要分别单独建立,注意大小写。然后把你要安装的deb 拖入此目录,重启两次机器进行安装。 二、iFile安装:把deb包用ifunbox传到//var/mobile/Documents下。打开iFile软件...

js设置自动刷新

如何实现刷新当前页面呢?借助js你将无所不能。 1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])   参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,re...

isequal 和startswith 使用

如果要把不同服务器发送过来的日志保存到不同的文件, 可以这样操作: :fromhost-ip, isequal, “192.168.0.160″ /var/log/host160.log :FROMHOST-IP, isequal, “192.168.0.161″ /var/log/host161.log :FROMHOST-IP, startswith,...