Search code examples
htmlundocontenteditable

Force IE contentEditable element to create line breaks on Enter key, without breaking Undo


On Internet Explorer, a contentEditable DIV creates a new paragraph (<p></p>) each time you press Enter whereas Firefox creates a <br/> tag.

As discussed here, it is possible to use JavaScript to intercept the Enter keyPress and use range.pasteHTML to create a <br/> instead. But doing this breaks the Undo menu; once you hit Enter, you can no longer Undo past that point.

How can I force the contentEditable element to create single line breaks on Enter without breaking Undo?


Solution

  • Not an exact solution, but another workaround. If you use the markup:

    <div contenteditable="true">
    <div>
    content
    </div>
    <div>
    

    Then pressing enter will create new div tags instead of p tags.