newline - contentEditable areas::force paragraphs for new lines - 跨浏览器

标签 newline contenteditable paragraph execcommand

Firefox 使用 <br> 换行, Chrome 和 Safari 正在打破 <div>...</div>而 Internet Explorer 和 Opera 正在使用段落 <p>...</p>对于新行。

我正在寻找一种方法来强制每个浏览器在换行时只创建段落。

我知道ckeditor支持此功能,但如何在我的自定义编辑器中简单地实现它?

最佳答案

对我来说,解决方案是将 document.execCommand('formatBlock', false, 'p'); 添加到 contenteditable div 中的 keypress 事件中。例如:

element.addEventListener('keypress', function(ev){
    if(ev.keyCode == '13')
        document.execCommand('formatBlock', false, 'p');
}, false);

希望对大家有所帮助。 :)

关于newline - contentEditable areas::force paragraphs for new lines - 跨浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10862345/

相关文章:

ruby - 使用空格拆分字符串,同时将\n 保留为单独的元素

javascript - 使用 JavaScript 在适当的 HTML 中包装 markdown

javascript - 双击可编辑

javascript - 如何将光标移动到 contenteditable 实体的末尾

linux - sed流编辑器unix linux命令: how to keep retain a paragraph with a particular text string

vim: 段落上的 gp

.NET "default line terminator"?

mysql - 使用查询从 MySQL 表中的字段中删除换行符

linux - 如何在 unix 中只删除 > [大于] 和 < [小于] 之间的一个换行符