js中光标的一些操作

有时候我们需要操作input,textarera中的光标,现在列举出一些js例子

首先看IE

IE中的对象是这个 createTextRange

var Range=el.createTextRange();
Range.moveEnd('character',el.value.length);

Range.moveStart('character',0);
//Range.collapse();
Range.select();

平时我们看到的光标都是合并着的(可以这么理解),它其实包含前后两个光标。

moveEnd操作后一个光标,moveStart操作前一个光标。

collapse当然是合并的意思,collapse(true)表示在前一个光标处合并,collapse(false)表示在后一个光标处合并。

如果我们希望把光标定位到一段文本的最后,可以使用两种方法:

1.我们可以把前一个光标移动到最后,然后设定collapse(true)在前一个光标合并。

2.我们可以把后一个光标移动到最后,然后设定collapse(false)在后一个光标合并。

select()当然是指选中的意思了。

非IE中的对象是这个 setSelectionRange

el.setSelectionRange(el.value.length,el.value.length);  //设光标 
el.focus();

这样就可以把光标移动到最后,如果需要选中一段则设定不同的起始位置即可。

以上经过IE,FF,CHROME等浏览器测试。均可以使用。



原文地址:https://www.cnblogs.com/yimiao/p/2396625.html