contentEditable ist eine globale Eigenschaft, die von Microsoft entwickelt, dekompiliert und von anderen Browsern verwendet wird. Die Hauptfunktion dieses Attributs besteht darin, Benutzern das Bearbeiten des Inhalts im Element zu ermöglichen. Daher muss das Element ein Element sein, das den Mausfokus erhalten kann, und dem Benutzer muss nach dem Klicken mit der Maus ein Caret angezeigt werden, um den Benutzer aufzufordern, dies zu tun Der Inhalt des Elements darf bearbeitet werden. Die contentEditable-Eigenschaft ist eine boolesche Eigenschaft, die als „true“ oder „false“ angegeben werden kann.
Darüber hinaus verfügt dieses Attribut auch über einen verborgenen Vererbungsstatus. Wenn das Attribut „true“ ist, wird das Element als „Bearbeitung zulassen“ gekennzeichnet, wenn das Attribut „false“ ist, wird das Element als „Bearbeitung nicht zulassend“ gekennzeichnet Bei „false“ wird es durch den Vererbungsstatus bestimmt. Wenn das übergeordnete Element des Elements bearbeitbar ist, ist das Element bearbeitbar.
Zusätzlich zum Attribut „contentEditable“ verfügt das Element auch über das Attribut „isContentEditable“. Wenn das Element bearbeitbar ist, ist dieses Attribut „true“.
Das Folgende ist ein Beispiel für die Verwendung des contentEditable-Attributs. Wenn das contentEditable-Attribut zu einem Listenelement hinzugefügt wird, können Leser mit diesem Beispiel im Browser experimentieren.
Das Ergebnis nach der Ausführung dieses Codes ist wie folgt:
Zeilentext erhöht sich automatisch in der Höhe
Wenn es um mehrzeilige Textfelder geht, denkt jeder sofort an die Verwendung von Textarea, es gibt jedoch einen Nachteil: Sie können die Anzahl der Wörter nicht automatisch erhöhen entsprechende Spalten und Zeilen oder verwenden Sie direkt CSS, um die Breite zu erhöhen.
Zu bestimmten Zeiten ist immer noch eine automatische Erhöhung erforderlich, z. B. beim Eingabefeld, ähnlich wie beim Posten auf Weibo. Dies ist eine typische Anforderung: Das Textfeld hat eine Standardhöhe, und wenn der Eingabetext diese Höhe überschreitet, wird er automatisch vergrößert . Es muss eine maximale Grenze geben. Nach Überschreiten dieser Grenze wird eine vertikale Bildlaufleiste angezeigt.
Wenn Sie Textarea verwenden, um diese Anforderung zu erfüllen, müssen Sie auch mit js zusammenarbeiten, um Änderungen in der Texthöhe zu überwachen und die Höhe des Textfelds dynamisch zu ändern. Dies ist sehr unpraktisch, insbesondere auf der mobilen Seite, was unwissenschaftlich ist. Zu diesem Zeitpunkt können Sie das Attribut contenteditable verwenden.
Zum Beispiel: