js ,控制光标位置

JavaScript019

js ,控制光标位置,第1张

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()

jquery 或者js 获取页面光标所在的元素有如下两种方式:

1.通过焦点获取光标所在元素

光标所在一般都在文本框里面(该方法只适用于input,textarea)

$("input:focus") //光标所在input元素的位置

$("textarea:focus")//光标所在textarea元素的位置

$("input:focus,textarea:focus")//光标所在元素的位置

2。通过点击事件获取光标所在元素

获取鼠标点击元素的位置(适用于所有元素)

$("*").click(function(e){

$(e.target)//光标所在元素位置

})