Maison >interface Web >js tutoriel >Comment empêcher le curseur de se réinitialiser au début d'un `` ContentEditable?
Définir la position du curseur sur ContentEditable Lorsque vous travaillez avec un contentEditable='on' Solution : 1. Enregistrer la position du curseur : Cette fonction s'attache aux événements onmouseup et onkeyup du 2. Restaurer la position du curseur : Cette fonction s'attache à l'événement onfocus du 3. Empêcher les événements de clic (facultatif) : Si vous souhaitez que le curseur soit restauré au clic au lieu de réinitialiser au début, vous pouvez utiliser les fonctions suivantes : Ces les fonctions s'attachent aux événements onblur, onclick et onmousedown et empêchent l'événement click de réinitialiser la position du curseur. Ils restaurent également la sélection, garantissant que le curseur est placé là où il s'était arrêté. 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) { // non-IE
savedRange = window.getSelection().getRangeAt(0);
} else if (document.selection) { // IE
savedRange = document.selection.createRange();
}
}
function restoreSelection() {
if (savedRange != null) {
if (window.getSelection) { // non-IE
var s = window.getSelection();
s.removeAllRanges();
s.addRange(savedRange);
} else if (document.createRange) { // non-IE
window.getSelection().addRange(savedRange);
} else if (document.selection) { // IE
savedRange.select();
}
}
}
var isInFocus = false;
function onDivBlur() {
isInFocus = false;
}
function cancelEvent(e) {
if (isInFocus == false && savedRange != null) {
e.stopPropagation();
e.preventDefault();
restoreSelection();
return false;
}
}
Articles Liés
Voir plus