在web開發中,我們經常需要獲取或設置input文本框中的光標位置。在jQuery中,我們可以輕松地完成這個任務,使用的是selectionStart和selectionEnd兩個屬性。
//獲取當前光標位置 var input = $("input"); var startPos = input[0].selectionStart; var endPos = input[0].selectionEnd; //設置光標位置 input[0].selectionStart = 3; //從第3個字符開始 input[0].selectionEnd = 6; //在第6個字符后結束
如上代碼所示,我們可以先獲取input元素的selectionStart和selectionEnd屬性,來得到當前光標的位置。然后我們可以通過設置這兩個屬性來改變光標的位置。
需要注意的是,在獲取/設置selectionStart和selectionEnd屬性之前,我們需要首先獲取input元素本身,然后通過數組下標獲取到原生input元素。這是因為selectionStart和selectionEnd是原生HTML屬性,而不是jQuery的屬性。
如果我們要獲取文本框中已選擇的文本,可以使用以下代碼:
var selectedText = input.val().substring(startPos, endPos);
上述代碼中,我們使用substring方法來截取input元素中從startPos到endPos的文本,即為已選擇的文本。
總的來說,jQuery的input元素光標位置是一項非常方便的功能,可以大大提高web開發的效率。我們只需要掌握一些簡單的API調用,就能輕松應對各種輸入框處理場景。
上一篇jquery error
下一篇不被css控制的代碼