我在 Chrome 上尝试了以下代码:
document.execCommand("insertBrOnReturn", false, true);
无论我将最后一个参数设置为 true 还是 false,行为都不会改变:返回时,<div>
将添加新元素。
一定错过了什么……有什么想法吗?
我在 Chrome 上尝试了以下代码:
document.execCommand("insertBrOnReturn", false, true);
无论我将最后一个参数设置为 true 还是 false,行为都不会改变:返回时,<div>
将添加新元素。
一定错过了什么……有什么想法吗?
insertBrOnReturn
是Mozilla特定的命令,Chrome不支持它。您可以使用以下方法进行测试:
document.queryCommandSupported('insertBrOnReturn')
jsFiddle 在这里,它true
在Firefox中发出警报,但false
在Chrome中。
如果您只想插入<br>
,请尝试:
document.execCommand('insertHTML', false, '<br><br>');
另外,请检查:Prevent contenteditable added <div> on ENTER - Chrome
我遇到了这个答案,但不喜欢在 Chrome 中,如果光标位于段落的开头,它会增加两个中断。更改第二个<br>
以\u200C
使 Chrome 完美运行,而不是 Safari。
document.execCommand("insertHTML", false, "<br>\u200C");
什么是\u200c?
不确定的。发现它在这里引用。
document.execCommand("insertLineBreak");
根据:https ://www.w3schools.com/jsref/met_document_execcommand.asp
您可以在以下位置查看规范命令:https ://w3c.github.io/editing/docs/execCommand/#dfn-the-insertlinebreak-command