Définir la position du curseur sur ContentEditable Définir la position du curseur dans un contenuEditable Solution multi-navigateurs Pour résoudre ce problème, envisagez la solution suivante : Cliquez sur Gestion des événements (facultatif) Par défaut, en cliquant dans le champ contentEditable Utilisation Incorporer ces fonctions dans votre code en attachant saveSelection() aux événements onmouseup et onkeyup du Cette solution fournit une approche complète et multi-navigateurs pour conserver la position du curseur dans contentEditable Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
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;
}
}