9

我在 Chrome 上尝试了以下代码:

document.execCommand("insertBrOnReturn", false, true);

http://jsfiddle.net/uVcd5/

无论我将最后一个参数设置为 true 还是 false,行为都不会改变:返回时,<div>将添加新元素。

一定错过了什么……有什么想法吗?

4

3 回答 3

13

insertBrOnReturnMozilla特定的命令,Chrome不支持它。您可以使用以下方法进行测试:

 document.queryCommandSupported('insertBrOnReturn')

jsFiddle 在这里,它trueFirefox中发出警报,但falseChrome中。

如果您只想插入<br>,请尝试:

document.execCommand('insertHTML', false, '<br><br>');

另外,请检查:Prevent contenteditable added <div> on ENTER - Chrome

于 2013-12-16T04:38:22.327 回答
4

我遇到了这个答案,但不喜欢在 Chrome 中,如果光标位于段落的开头,它会增加两个中断。更改第二个<br>\u200C使 Chrome 完美运行,而不是 Safari。

document.execCommand("insertHTML", false, "<br>\u200C");

什么是\u200c?不确定的。发现它在这里引用。

处理 contentEditable DIV 上的换行符

于 2014-12-08T07:14:53.913 回答
4
document.execCommand("insertLineBreak");

根据:https ://www.w3schools.com/jsref/met_document_execcommand.asp

您可以在以下位置查看规范命令:https ://w3c.github.io/editing/docs/execCommand/#dfn-the-insertlinebreak-command

于 2019-12-18T11:10:01.433 回答