Dim*_*nov 13 html wysiwyg contenteditable
我想知道是否有一种可接受的方法强制所有主流浏览器插入段落标记,而不是当contentEditable为true时插入按Enter键时插入的默认标记.
据我所知,IE会自动插入p.但谷歌Chrome插入div标签和Firefox插入br(WTF ?!).
提前致谢!
bar*_*xyz 18
在输入按下后,您可以document.execCommand('formatBlock', false, 'p');在事件中使用keypress或keydown等使用段落.例如:
element.addEventListener('keypress', function(ev){
if(ev.keyCode == '13')
document.execCommand('formatBlock', false, 'p');
}, false);
Run Code Online (Sandbox Code Playgroud)
由于它是在浏览器中构建的,因此您无法更改该行为。您可以通过检测浏览器并相应地替换元素来解决此问题。非常丑陋,我知道。
另请检查 WhatWG 的背景:http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031577.html