js ,控制光标位置

JavaScript05

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

当使用JavaScript点击元素,但光标不移动时,可能是因为没有正确设置光标位置。可以通过设置光标位置来解决这个问题,例如,可以使用JavaScript的selectionStart和selectionEnd属性来设置光标的位置。另外,也可以使用JavaScript的focus()方法来设置光标的位置,这样就可以让光标移动到指定的位置。此外,也可以使用CSS的cursor属性来设置光标的位置,这样就可以让光标移动到指定的位置。总之,只要正确设置光标位置,就可以解决JavaScript点击元素时光标不移动的问题。