Perché un div contenteditable non si comporta come un elemento di input?

6

La motivazione per il contenuto modificabile div sarebbe quella di consentire l'input dell'utente all'interno di un elemento div normale. Perché allora si comporta in modo così diverso da input elemento? Principalmente mi riferisco all'aggiunta di div o br all'interruzione di riga.

Inoltre non ha un elemento segnaposto. Quindi la mia domanda è qual è il punto di div-modificabile contenuto? Perché dovrei usarlo affatto?

    
posta Akshat Jiwan Sharma 23.05.2013 - 17:42
fonte

1 risposta

12

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.

    
risposta data 23.05.2013 - 18:18
fonte

Leggi altre domande sui tag