execCommand insertHTML多次插入
我正在使用contentEditable DIV中的一个小型RTE。我已经向DIV附加了一个按键事件处理程序,它监视何时触发了ENTER键以及选择的位置。如果它在文本节点内,我将插入一个新行。但是,这个代码有缺陷并经常插入4个换行而不是一个换行(我必须按4次撤消才能回到光标所在的位置 - 这就是我认为execCommand多次触发的原因)。另一方面,有时需要两次按ENTER键才能插入新行。
这是一个keypress事件处理程序的代码片段,一旦确定按下了ENTER键:
if(selection.focusNode.nodeType!=3){ return; }
ev.preventDefault();
var HTML='
';
toolbar.target.ownerDocument.execCommand('insertHTML',false,HTML);
我想使用execCommand来保留浏览器的撤消行为。我不想插入<br>
,因为此插入只发生在文本节点中,并且出于后期处理的目的,我需要在文本节点中使用 n而不是<br>
或任何其他块类型标记。我正在使用unicode换行符

。我已经尝试了回车字符
以及类似的结果。我不能使用n
和insertHTML
,因为这不是正确的HTML。
任何人都有关于如何确保execCommand只运行一次的想法?
没有找到相关结果
已邀请:
0 个回复