vermeiden ie contentEditable-element zum erstellen von Absätzen auf Enter-Taste
Auf den InternetExplorer, eine contentEditable DIV wird ein neuer Absatz erstellt (<p></p>
) jedes mal, wenn Sie Enter drücken, während Firefox erstellt eine <br/>
tag.
Ist es möglich, zu zwingen, den IE einfügen <br/>
statt einen neuen Absatz ?
InformationsquelleAutor Franck Freiburger | 2010-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist möglich, vermeiden das einfügen von Absätzen durch das anhalten der keydown-Ereignis ersten (
window.event.stopPropagation();
) und fügt dann die Zeichenfolge durch die Verwendung von insert HTML-Befehl.IE allerdings hängt dieses divs für das festlegen von Stilen etc. und Sie werden in Schwierigkeiten geraten mit <br>en.
Schlage ich Ihnen vor, mit einem Projekt wie TinyMCE oder andere Editoren und der Suche nach einem editor, der sich so verhält, wie Sie möchte, da Sie alle Arten von workarounds für verschiedene browser Probleme. Vielleicht finden Sie einen editor, der verwendet <br>s...
Manipulieren Sie das DOM mit den Befehlen bricht NICHT rückgängig machen. Jeder Befehl kann rückgängig gemacht werden. Natürlich Sie müssen vermeiden, Sachen wie div.innerHTML = "foo";
InformationsquelleAutor Jonathan Weiß
Hier ist eine Lösung (jQuery verwendet). Nachdem Sie auf den 'Ändern, BR' - Taste, die
<br>
- tag eingefügt werden, anstatt der<p></p>
tag.Html:
Javascript:
Diese links geholfen.
Beispiel hier.
insertNode()
stattpasteHTML()
für IE11+ und cross-browser-wie bereits hereInformationsquelleAutor rosscj2533
Können Sie immer lernen, verwenden Sie SHIFT + ENTER für eine einzige Zeile zurückgibt, und ENTER für Absatz kehrt. IE verhält sich wie MS-Word in dieser Hinsicht.
InformationsquelleAutor Fenton
Änderung der
line-height
des<p>
innerhalb der editierbaren<div>
funktioniert:InformationsquelleAutor user1649326
Wenn Sie es verwenden können, FCKEditor hat eine Einstellung für dieses
InformationsquelleAutor Mason