Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mendapatkan Kedudukan Lajur Caret dalam Textarea Merentasi Pelayar?
Mendapatkan Kedudukan Lajur Karet dalam Aksara dalam Kawasan Teks
Menentukan kedudukan karet dalam
Untuk penyemak imbas seperti Firefox dan Safari, menggunakan textarea.selectionStart menyediakan penyelesaian yang mudah. Walau bagaimanapun, dalam Internet Explorer, pendekatan alternatif diperlukan. Berikut ialah penyelesaian teguh yang memenuhi kedua-dua kes:
function getCaret(node) { if (node.selectionStart) { return node.selectionStart; } else if (!document.selection) { return 0; } var c = "<pre class="brush:php;toolbar:false">function getCaret(el) { if (el.selectionStart) { return el.selectionStart; } else if (document.selection) { el.focus(); var r = document.selection.createRange(); if (r == null) { return 0; } var re = el.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } return 0; }1", sel = document.selection.createRange(), dul = sel.duplicate(), len = 0; dul.moveToElementText(node); sel.text = c; len = dul.text.indexOf(c); sel.moveStart('character',-1); sel.text = ""; return len; }
Selain itu, Pemalam jQuery FieldSelection menawarkan cara yang mudah untuk mendapatkan semula kedudukan tanda dan melaksanakan operasi pemilihan teks lanjutan.
Pelaksanaan Dikemas Kini:
Berikut ialah versi terkini getCaret fungsi yang memberikan ketepatan yang dipertingkatkan:
Dengan penyelesaian ini, anda boleh menentukan kedudukan karet yang tepat dalam
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kedudukan Lajur Caret dalam Textarea Merentasi Pelayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!