Wenn div auf contentEditable=true gesetzt ist, kann der Cursor nach dem Zurücksetzen seines Inhalts nicht positioniert werden

Wenn div auf contentEditable=true gesetzt ist, kann der Cursor nach dem Zurücksetzen seines Inhalts nicht positioniert werden

Ich habe kürzlich an einer Kommentarfunktion gearbeitet, die die Möglichkeit zum Kommentieren von Emoticons erforderte. Daher war die Eigenschaft contentEditable das Erste, was ich berücksichtigen musste. Dabei trat ein Problem auf ...

Zunächst eine Anmerkung zum Landrat:

img

Wenn der Eingabeinhalt das Limit überschreitet, wird der Inhalt gelöscht, nachdem die Benutzereingabe das Limit überschritten hat.

Das ist einfach... Aber nach dem Löschen des Inhalts wanderte der Cursor tatsächlich nach vorne, was Kopfschmerzen bereitet.

Nach verschiedenen Suchen habe ich eine Lösung gefunden. Hier ist ohne weitere Umschweife der Code!

var _div = document.querySelector('.discuss_area');
var Bereich = Dokument.createRange();

Bereich.selectNodeContents(_div);
Bereich.Collapse(false);

var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(Bereich);

Alle verwenden native Ereignisse, sodass jQuery Objekte nicht verwendet werden können.

In diesem Artikel geht es um die Lösung des Problems, dass, wenn ein Div auf contentEditable=true gesetzt ist, der Cursor nach dem Zurücksetzen seines Inhalts nicht richtig positioniert werden kann. Dies ist das Ende des Artikels. Weitere relevante Inhalte zum Festlegen von „div contentEditable=true“ finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Allgemeine Benennungsregeln für CSS-Klassen und IDs

>>:  Detaillierte Erklärung der CSS-Hintergrund- und Rahmen-Tag-Beispiele

Artikel empfehlen

Reduzieren Sie die Speicher- und CPU-Auslastung durch die Optimierung von Webseiten

Manche Webseiten erscheinen möglicherweise nicht g...

Über die Überlappung von Randwert und vertikalem Rand in CSS

Rand paralleler Boxen (Überlappung doppelter Ränd...

Vue verwendet Canvas-Handschrifteingabe, um Chinesisch zu erkennen

Effektbild: Vorwort: Kürzlich arbeitete ich an ei...

Einige Verbesserungen in MySQL 8.0.24 Release Note

Inhaltsverzeichnis 1. Verbindungsmanagement 2. Ve...

Vue führt eine Überprüfung durch, ob der Benutzername verfügbar ist

In diesem Artikelbeispiel wird der spezifische Co...

Schreiben Sie eine dynamische Uhr auf einer Webseite in HTML

Verwenden Sie HTML, um eine dynamische Web-Uhr zu...

Vue + Element UI realisiert Ankerpositionierung

In diesem Artikelbeispiel wird der spezifische Co...

Docker stellt eine MySQL-Remoteverbindung bereit, um 2003-Probleme zu lösen

Herstellen einer Verbindung mit MySQL Hier verwen...