當您希望使用者聚焦在文字欄位的特定部分時,您可能需要將遊標定位在場內一定的偏移量。若要使用 jQuery 實現此目的,您可以實作 setCursorPosition 函數。
$.fn.setCursorPosition = function(pos) { if (this.setSelectionRange) { this.setSelectionRange(pos, pos); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); if (pos < 0) { pos = $(this).val().length + pos; } range.moveEnd("character", pos); range.moveStart("character", pos); range.select(); } };
使用此函數,您可以透過使用所需的偏移量呼叫它來設定遊標位置:
$("#input").focus(function() { $(this).setCursorPosition(4); });
在本例中,當#input欄位來獲得焦點時,遊標將定位在第四個字元之後(從0).
另一種方法是使用接受的答案中提供的selectRange函數:
$.fn.selectRange = function(start, end) { if (end === undefined) { end = start; } return this.each(function() { if ("selectionStart" in this) { this.selectionStart = start; this.selectionEnd = end; } else if (this.setSelectionRange) { this.setSelectionRange(start, end); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); range.moveEnd("character", end); range.moveStart("character", start); range.select(); } }); };
使用此函數,您可以定位遊標並選擇文字範圍:
$("#elem").selectRange(3, 5); // select a range of text $("#elem").selectRange(3); // set cursor position
這些解決方案提供了各種方法來使用jQuery 設定遊標位置和操作文字字段中的文字選擇。
以上是如何使用 jQuery 設定文字區域中的遊標位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!