jquery 或者js 获取页面光标所在的元素有如下两种方式:
1.通过焦点获取光标所在元素
光标所在一般都在文本框里面(该方法只适用于input,textarea)
$("input:focus") //光标所在input元素的位置$("textarea:focus")//光标所在textarea元素的位置
$("input:focus,textarea:focus")//光标所在元素的位置
2。通过点击事件获取光标所在元素
获取鼠标点击元素的位置(适用于所有元素)
$("*").click(function(e){$(e.target)//光标所在元素位置
})
1、获取光标位置
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) }
2.设置光标位置
function setCaretPosition(ctrl, pos){//设置光标位置函数
if(ctrl.setSelectionRange) {
ctrl.focus()
ctrl.setSelectionRange(pos,pos)
} else if (ctrl.createTextRange){
varrange = ctrl.createTextRange()
range.collapse(true)
range.moveEnd('character', pos)
range.moveStart('character', pos)
range.select()
}
}
3、将光标移动到输入框
ctrl.focus()