如何取得text输入框中当前光标的坐标

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:54:31
我的意思是在网页中如何用js得到当前光标的位置,抱歉没有说清楚。

如何获得TextArea中的位置,但是如果TextArea中有很多内容的时候,会显得很闪烁。其代码如下。

function getPos(obj)
{
obj.focus();
var workRange=document.selection.createRange();
obj.select();
var allRange=document.selection.createRange();
workRange.setEndPoint("StartToStart",allRange);
var len=workRange.text.length;
workRange.collapse(false);
workRange.select();

return len;
}

这时候问题出来了,在obj.select()的时候,会造成闪烁,并且滚动条也无法归位。于是根据自己的需要,将其改写如下:

function getCaret(ZysrID)
{
var txb = document.getElementById(ZysrID);//根据ID获得对象
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();//为新的光标位置创建文档选择对