本文實例講述了Javascript實現獲取及設置光標位置的方法。分享給大家供大家參考。具體如下:
在項目開發中經常遇到input等設置光標位置到最後的問題,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏覽器的獲取光標位置(getCursortPosition)以及設置光標位置(setCursorPosition)的函數。
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) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }
希望本文所述對大家的javascript程序設計有所幫助。