Dapatkan Julat Mula dan Tamat Offset Berbanding dengan Bekas Induknya
Dalam dokumen HTML, pilihan pengguna boleh merentasi elemen dan nod teks yang berbeza . Menentukan julat tepat dalam aksara dalam bekas induk pemilihan boleh menjadi mencabar. Walau bagaimanapun, kami boleh menggunakan pelbagai teknik untuk mencapai ini tanpa mengira variasi penyemak imbas.
Satu pendekatan melibatkan pengklonan julat pemilihan dan menetapkan titik penamatnya ke permulaan dan penghujung bekas induk. Dengan membandingkan kandungan teks yang terhasil dengan julat pilihan asal, kita boleh mengira offset mula dan tamat berbanding dengan induk. Berikut ialah contoh dalam JavaScript:
function getSelectionCharacterOffsetWithin(element) { var start = 0; var end = 0; var preCaretRange = range.cloneRange(); preCaretRange.selectNodeContents(element); preCaretRange.setEnd(range.startContainer, range.startOffset); start = preCaretRange.toString().length; preCaretRange.setEnd(range.endContainer, range.endOffset); end = preCaretRange.toString().length; return { start: start, end: end }; }
Kaedah ini menyediakan kedua-dua offset mula dan akhir dalam bekas induk, mengambil kira teg HTML dan traversal nod teks. Ia boleh digunakan dalam pelbagai aplikasi yang memerlukan pengimbangan aksara yang tepat, seperti alat penyuntingan teks dan skrip manipulasi kandungan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Offset Mula dan Tamat Pilihan dalam Bekas Induknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!