在 ContentEditable 在 contentEditable 跨浏览器解决方案 要解决此问题,请考虑以下解决方案: 点击事件处理(可选) 默认情况下,在contentEditable 用法
将这些函数合并到通过将 saveSelection() 附加到
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中文网其他相关文章!