javascript獲取游標位置以及設定游標位置
阿新 • • 發佈:2019-02-02
在專案開發中經常遇到input等設定游標位置到最後的問題,今天我查了一下Google,找到了在IE、Firefox、Opera等主流瀏覽器的獲取游標位置(getCursortPosition)以及設定游標位置(setCursorPosition)的函式。
PS:引數ctrl為input或者textarea物件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); }
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為游標要移動到的位置。