Mendapatkan Kedudukan Karet dalam Textarea dalam Aksara dari Mula
Menentukan kedudukan caret dalam
Dalam penyemak imbas berasaskan Mozilla seperti Firefox dan Safari, anda boleh terus mengakses textarea.selectionStart untuk mendapatkan kedudukan caret dalam syarat watak dari mula. Walau bagaimanapun, untuk penyemak imbas seperti Internet Explorer, pendekatan ini mungkin tidak berfungsi.
Untuk keserasian silang penyemak imbas, anda boleh melaksanakan fungsi JavaScript berikut:
function getCaret(node) { if (node.selectionStart) { return node.selectionStart; } else if (!document.selection) { return 0; } var c = "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; }
Fungsi ini menggunakan document.selection objek, tersedia dalam IE, untuk menentukan kedudukan karet. Ia mula-mula mencipta objek julat, menduplikasinya, dan mengalihkan julat ke permulaan kawasan teks. Kemudian, ia menambah aksara khas pada kedudukan karet dan mengira panjang teks berikutnya. Ini menyediakan kedudukan berasaskan aksara.
Untuk penyelesaian yang lebih menyeluruh, terdapat pemalam seperti jQuery FieldSelection Plugin yang menawarkan pilihan teks lanjutan dan keupayaan manipulasi dalam kawasan teks.
Akhir sekali, adalah penting untuk ambil perhatian bahawa kod tersebut termasuk bahagian "Edit" dengan pelaksanaan fungsi getCaret yang dikemas kini, yang lebih dioptimumkan. Pastikan anda merujuk kepada contoh kod yang dikemas kini untuk versi terkini fungsi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kedudukan Karet dalam Textarea dalam Aksara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!