Heim > Artikel > Web-Frontend > Wie kann verhindert werden, dass der Cursor an den Anfang eines ContentEditable-Objekts zurückgesetzt wird?
Cursorposition auf ContentEditable Beim Arbeiten mit einem contentEditable='on' Lösung: 1. Cursorposition speichern: Diese Funktion wird an die Ereignisse onmouseup und onkeyup des 2. Cursorposition wiederherstellen: Diese Funktion wird an das Onfocus-Ereignis des 3. Klickereignisse verhindern (optional): Wenn Sie möchten, dass der Cursor beim Klicken wiederhergestellt wird, anstatt auf den Anfang zurückgesetzt zu werden, können Sie die folgenden Funktionen verwenden: Diese Funktionen werden an die Ereignisse onblur, onclick und onmousedown angehängt und verhindern, dass das Click-Ereignis die Cursorposition zurücksetzt. Sie stellen außerdem die Auswahl wieder her und stellen sicher, dass der Cursor dort platziert wird, wo er aufgehört hat. Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass der Cursor an den Anfang eines ContentEditable-Objekts zurückgesetzt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!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;
}
}
In Verbindung stehende Artikel
Mehr sehen