Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mendapatkan Kedudukan Karet dan Teks Sekitar dalam Textarea?
Mendapatkan Kedudukan Caret dalam Textarea
Menentukan kedudukan caret dalam
Untuk penyemak imbas moden seperti Firefox dan Safari yang menyokong sifat selectionStart, mendapatkan kedudukan lajur karet adalah mudah:
function getCaretColumn(textarea) { return textarea.selectionStart; }
Walau bagaimanapun, dalam IE dan pelayar lama, sifat ini tidak tersedia, memerlukan yang lebih kompleks penyelesaian:
function getCaretColumnIE(textarea) { var caret = document.selection.createRange(); var length = 0; var dul = caret.duplicate(); dul.moveToElementText(textarea); sel.text = '<pre class="brush:php;toolbar:false">function getSurroundingStrings(textarea) { var start = textarea.selectionStart; var end = textarea.selectionEnd; return [ textarea.value.slice(0, start), textarea.value.slice(start, end), textarea.value.slice(end) ]; }1'; length = dul.text.indexOf('1'); sel.moveStart('character', -1); sel.text = ""; return length; }
Mendapatkan Rentetan Mengelilingi Kursor
Untuk mendapatkan semula rentetan yang mengelilingi kursor atau pemilihan, kita boleh menggunakan gabungan mendapatkan karet permulaan dan penamat kedudukan, bersama-sama dengan menghiris nilai textarea:
Dalam kes di mana perkataan atau teks adalah diserlahkan, fungsi ini akan mengembalikan rentetan sebelum, dalam dan selepas pemilihan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kedudukan Karet dan Teks Sekitar dalam Textarea?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!