有时候我们需要操作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等浏览器测试。均可以使用。