本文實例總結了javascript設定文字方塊遊標的方法。分享給大家參考,如下:
對於text
1 2 3 4 5 6 7 8 9 | function getCaret(textbox) {
var control = document.activeElement;
textbox.focus();
var rang = document.selection.createRange();
rang.setEndPoint( "StartToStart" ,textbox.createTextRange())
control.focus();
return rang.text.length;
}
|
登入後複製
對於textarea
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function getCaret(ZysrID)
{
var txb = document.getElementById(ZysrID);
var pos = 0;
txb.focus();
var s = txb.scrollTop;
var r = document.selection.createRange();
var t = txb.createTextRange();
t.collapse(true);
t.select();
var j = document.selection.createRange();
r.setEndPoint( "StartToStart" ,j);
var str = r.text;
var re = new RegExp( "[//n]" , "g" );//过滤掉换行符,不然你的文字会有问题,会比你的文字实际长度要长一些.搞死我了.我说我得到的数字怎么总比我的实际长度要长.
str = str.replace(re, "" );
pos = str.length;
r.collapse(false);
r.select();
txb.scrollTop = s;
}
|
登入後複製