输入可信的段落标签

Dim*_*nov 13 html wysiwyg contenteditable

我想知道是否有一种可接受的方法强制所有主流浏览器插入段落标记,而不是当contentEditable为true时插入按Enter键时插入的默认标记.

据我所知,IE会自动插入p.但谷歌Chrome插入div标签和Firefox插入br(WTF ?!).

提前致谢!

bar*_*xyz 18

在输入按下后,您可以document.execCommand('formatBlock', false, 'p');在事件中使用keypresskeydown等使用段落.例如:

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


Len*_*art 0

由于它是在浏览器中构建的,因此您无法更改该行为。您可以通过检测浏览器并相应地替换元素来解决此问题。非常丑陋,我知道。

另请检查 WhatWG 的背景:http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031577.html

  • **您的链接已关闭**。这就是为什么我不断重复:*不要*将简单的链接粘贴到网站,花一些精力提供不言自明的答案。添加合理的链接作为*奖励*。 (4认同)