如何用 javascript 获取当页面上鼠标(光标)在文本框中的位置?
[已解决] 如何用 javascript 获取当页面上鼠标(光标)在文本框中的位置?
当前页面:http://www.senparc.com/SZD-263
{ 收藏当前页面 }
最佳答案
在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。
function getCursortPosition (ctrl) {//获取光标位置函数
var CaretPos = 0; // IE Support
if (document.selection) {
ctrl.focus ();
var Sel = document.selection.createRange ();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0')
CaretPos = ctrl.selectionStart;
return (CaretPos);
}
PS:参数ctrl为input或者textarea对象
function setCaretPosition(ctrl, pos){//设置光标位置函数
if(ctrl.setSelectionRange)
{
ctrl.focus();
ctrl.setSelectionRange(pos,pos);
}
else if (ctrl.createTextRange) {
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置。
function getCursortPosition (ctrl) {//获取光标位置函数
var CaretPos = 0; // IE Support
if (document.selection) {
ctrl.focus ();
var Sel = document.selection.createRange ();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0')
CaretPos = ctrl.selectionStart;
return (CaretPos);
}
PS:参数ctrl为input或者textarea对象
function setCaretPosition(ctrl, pos){//设置光标位置函数
if(ctrl.setSelectionRange)
{
ctrl.focus();
ctrl.setSelectionRange(pos,pos);
}
else if (ctrl.createTextRange) {
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置。
回答时间:2011/7/5 18:12:58
| 回答者:Souidea
其他参考答案(0)
提交失败!请检查错误!错误信息:
以下信息或许对您有用:
- [已解决] 20 如何在网页打开后,FckEditor已经初始化之后,再对FckEditor中的内... 2010/7/23 20:11:41
- [已解决] 20 javascritp对fckeditor编辑器赋值取值,以及内部机制说明? 2010/7/23 19:57:31
- [已解决] 30 如何判断javascript中的某个方法是否存在? 2010/2/21 16:25:53
- [已解决] 30 比较一下目前比较流行的js框架? 2009/11/1 23:00:33