按 "Enter" 键实现新换行
Implement new Line Change on pressing "Enter" key
我正在使用 contenteditable
,因为某些业务场景,我需要跟踪新的换行符 <br>
。为了处理这个问题,我执行了以下步骤:
- 在
keydown
事件中,我停止了“输入”键事件 (keyCode = 13)
- 在“Enter”的
keyup
事件中,我触发 execCommand
作为 $window.document.execCommand('insertHTML',true,'<br class="new">');
除非我在行尾,否则它就像一个魅力。
问题
- 当光标在行尾时,先enter按键插入
<br class="new">
,但虽然插入了html
,但不会发生光标换行.
- 当我再次按 enter 时,没有任何反应。没有插入
innerHTML
。
Here is the plunkr。请检查控制台以查看 html
如果光标前有字符就完美了
我希望我已经清楚地解释了我的问题。有什么建议请
虽然这似乎是一种解决方法,但您可以使用
$window.document.execCommand('insertHTML',true,'<br class="new"> ');
它会用一个空格来满足你的目的,我认为可以忽略它。
我正在使用 contenteditable
,因为某些业务场景,我需要跟踪新的换行符 <br>
。为了处理这个问题,我执行了以下步骤:
- 在
keydown
事件中,我停止了“输入”键事件 (keyCode = 13) - 在“Enter”的
keyup
事件中,我触发execCommand
作为$window.document.execCommand('insertHTML',true,'<br class="new">');
除非我在行尾,否则它就像一个魅力。
问题
- 当光标在行尾时,先enter按键插入
<br class="new">
,但虽然插入了html
,但不会发生光标换行. - 当我再次按 enter 时,没有任何反应。没有插入
innerHTML
。
Here is the plunkr。请检查控制台以查看 html
如果光标前有字符就完美了
我希望我已经清楚地解释了我的问题。有什么建议请
虽然这似乎是一种解决方法,但您可以使用
$window.document.execCommand('insertHTML',true,'<br class="new"> ');
它会用一个空格来满足你的目的,我认为可以忽略它。