Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menetapkan dan Mengekalkan Kedudukan Kursor dalam Div Boleh Diedit Kandungan?
Apabila berurusan dengan contentEditable <div>, fungsi penyemak imbas lalai menetapkan semula kedudukan kursor ke permulaan teks apabila kembali fokus. Untuk menyelesaikan masalah ini, pertimbangkan penyelesaian berikut:
Simpan dan Pulihkan Kedudukan Kursor:
Pendekatan ini memastikan kursor diletakkan pada lokasi terakhir yang diketahui apabila div kembali fokus.
Pengendalian Klik:
Untuk memulihkan pilihan apabila mengklik div, langkah tambahan berikut diperlukan:
Kod Kerja:
<div>
var savedRange, isInFocus; function saveSelection() { savedRange = window.getSelection ? window.getSelection().getRangeAt(0) : document.selection.createRange(); } function restoreSelection() { isInFocus = true; document.getElementById("area").focus(); if (savedRange) { if (window.getSelection) { var s = window.getSelection(); s.removeAllRanges(); s.addRange(savedRange); } else if (document.createRange) { window.getSelection().addRange(savedRange); } else if (document.selection) { savedRange.select(); } } } function onDivBlur() { isInFocus = false; } function cancelEvent(e) { if (isInFocus === false && savedRange) { if (e && e.preventDefault) { e.stopPropagation(); e.preventDefault(); } else { window.event.cancelBubble = true; } restoreSelection(); return false; } }
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan dan Mengekalkan Kedudukan Kursor dalam Div Boleh Diedit Kandungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!