Memanipulasi Karet dalam Elemen Boleh Sunting Kandungan
Masalah: Bagaimana anda boleh mengalihkan karet ke penghujung a elemen boleh diedit kandungan, meniru tingkah laku yang terdapat dalam nota Gmail widget?
StackOverflow menawarkan penyelesaian yang berfungsi untuk elemen input tetapi gagal dengan elemen yang boleh diedit kandungan. Artikel ini membentangkan pendekatan yang disesuaikan khusus untuk elemen yang boleh diedit kandungan.
Penyelesaian:
Untuk penyemak imbas yang menyokong contenteditable, fungsi JavaScript berikut boleh mencapai pergerakan karet yang diingini:
function setEndOfContenteditable(contentEditableElement) { // Determine browser support var range, selection; if (document.createRange) { // Modern browsers range = document.createRange(); range.selectNodeContents(contentEditableElement); range.collapse(false); // Collapse to end of range selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); } else if (document.selection) { // IE 8 and lower range = document.body.createTextRange(); range.moveToElementText(contentEditableElement); range.collapse(false); // Collapse to end of range range.select(); } }
Penggunaan Contoh:
Untuk mengalihkan karet ke hujung elemen dengan ID 'txt1':
elem = document.getElementById('txt1'); setEndOfContenteditable(elem);
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Karet ke Penghujung Elemen Boleh Diedit Kandungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!