在ContentEditable 在contentEditable 跨瀏覽器解決方案 要解決此問題,請考慮以下解決方案: 點擊事件處理(選用) 預設情況下,在contentEditable 用法 將這些函數合併到您的程式碼將saveSelection() 附加到 此解決方案提供了一種全面的跨瀏覽器方法來保留 contentEditable
function saveSelection() {
if (window.getSelection) {
savedRange = window.getSelection().getRangeAt(0);
} else if (document.selection) {
savedRange = document.selection.createRange();
}
}
function restoreSelection() {
document.getElementById("area").focus();
if (savedRange != null) {
if (window.getSelection) {
var s = window.getSelection();
if (s.rangeCount > 0)
s.removeAllRanges();
s.addRange(savedRange);
} else if (document.createRange) {
window.getSelection().addRange(savedRange);
} else if (document.selection) {
savedRange.select();
}
}
}
function cancelEvent(e) {
if (isInFocus == false && savedRange != null) {
if (e && e.preventDefault) {
e.stopPropagation();
e.preventDefault();
}
else {
window.event.cancelBubble = true;
}
restoreSelection();
return false;
}
}
以上是如何跨瀏覽器保留 ContentEditable 中的遊標位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!