what is the point of content-editable div?
Lo scopo di un elemento contenteditable
è di fornire funzionalità WYSIWYG per la modifica del contenuto e della struttura di elementi all'interno di una pagina Web.
Why does it then behave so differently to input element?
Un elemento contenteditable
deve ancora essere visualizzato come un normale elemento DOM. Per risolvere la tua particolare preoccupazione per le interruzioni di riga, non c'è modo di esprimere interruzioni di riga renderizzate in HTML senza utilizzare un elemento come <br>
o <div>
(poiché le normali interruzioni di riga HTML del codice sorgente non vengono visualizzate nella pagina visiva) .
Potresti chiedere, " Perché, quindi, WHATWG (o Microsoft) non ha semplicemente creato contenteditable
elementi riprodotti da regole diverse da elementi" normali "? " La risposta è che% L'elementocontenteditable
potrebbe smettere di essere contenteditable
in qualsiasi momento - lo stato è modificabile. Non esiste un modo sensato per rendere un elemento il suo DOM interno in modo diverso a seconda che sia attualmente contenteditable
o meno.
Supponiamo che non siano consentite interruzioni di riga visibili in <br>
quando l'elemento si trovava in uno stato contenteditable
. Quando l'elemento si disattiva dalla modalità contenteditable
, se la linea non- <br>
si interrompe, allora scompare? Potresti dire, " Sì, va bene! " a un simile suggerimento, ma questo sfugge allo scopo di contenteditable
che ho affermato nella mia prima frase. Avere la modifica dell'aspetto dell'elemento in base al suo stato contenteditable
potrebbe rovinare la sua utilità come WYSIWYG.