按“Enter”键实施新的换行

时间:2018-05-04 07:30:38

标签: javascript angularjs wysiwyg contenteditable execcommand

我正在使用contenteditable因为某些业务场景,我需要跟踪新的换行符<br>。为了解决这个问题,我做了以下步骤:

  1. keydown事件中,我停止了“输入”键事件(keyCode = 13)
  2. 在“{1}}事件”输入“时,我keyup execCommand
  3. 除非我在线端,否则它就像一个魅力。

    问题

    • 当光标位于行尾时,首先输入按键插入$window.document.execCommand('insertHTML',true,'<br class="new">');,但插入<br class="new">后不会发生光标换行。
    • 当我再次按输入时,没有任何反应。没有插入html

    Here is the plunkr。请检查控制台以查看html

    如果光标前有任何字符

    ,它会很完美

    我希望我已经清楚地解释了我的问题。请提出任何建议

1 个答案:

答案 0 :(得分:1)

虽然这似乎是一种解决方法,但您可以使用&nbsp;

$window.document.execCommand('insertHTML',true,'<br class="new">&nbsp;');

它会以空白为您服务,我认为可以忽略这一点。