按 "Enter" 键实现新换行

Implement new Line Change on pressing "Enter" key

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

  1. keydown 事件中,我停止了“输入”键事件 (keyCode = 13)
  2. 在“Enter”的 keyup 事件中,我触发 execCommand 作为 $window.document.execCommand('insertHTML',true,'<br class="new">');

除非我在行尾,否则它就像一个魅力。

问题

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

如果光标前有字符就完美了

我希望我已经清楚地解释了我的问题。有什么建议请

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

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

它会用一个空格来满足你的目的,我认为可以忽略它。