Rumah >hujung hadapan web >tutorial js >Coretan Kod Pemilihan Teks Input
Dokumen ini menyediakan coretan kod untuk menguruskan pemilihan teks dalam medan input. Chrome moden dan Firefox menggunakan .setSelectionRange()
, tetapi Firefox memerlukan elemen untuk memberi tumpuan terlebih dahulu.
Mendapatkan kedudukan kursor:
<code class="language-javascript">jQuery.fn.getCursorPosition = function(){ if(this.length == 0) return -1; return $(this).getSelectionStart(); };</code>
Mendapatkan pemilihan Mula:
<code class="language-javascript">jQuery.fn.getSelectionStart = function(){ if(this.length == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveEnd('character', input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart; return pos; };</code>
Menetapkan kedudukan kursor:
<code class="language-javascript">jQuery.fn.setCursorPosition = function(pos) { this.each(function(index, elem) { if (elem.setSelectionRange) { elem.setSelectionRange(pos, pos); } else if (elem.createTextRange) { var range = elem.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }); return this; };</code>
menetapkan kedudukan kursor (alternatif):
<code class="language-javascript">function setCursorPos(node,pos){ var node = (typeof node == "string" || node instanceof String) ? document.getElementById(node) : node; node.focus(); // Crucial for Firefox if(!node) return false; else if(node.createTextRange){ var textRange = node.createTextRange(); textRange.collapse(true); textRange.moveStart('character', pos); textRange.moveEnd('character', 0); textRange.select(); return true; }else if(node.setSelectionRange){ node.setSelectionRange(pos,pos); return true; } return false; }</code>
Soalan -soalan yang sering ditanya:
Seksyen FAQ memberikan penjelasan yang jelas tentang, setSelectionRange
, selectionStart
, keserasian pelayar, dan pengendalian parameter. Jawapannya ringkas dan tepat. Tiada perubahan diperlukan di sini. selectionEnd
Atas ialah kandungan terperinci Coretan Kod Pemilihan Teks Input. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!