在不禁用按键的情况下防止 html ENTER 事件
Preventing html ENTER event without disabling keypress
我正在使用 <tr contenteditable="true">
单元格构建电子表格网站。
我已经实现了一个 onkeyup
功能,当焦点在一个单元格上时按 enter
会将焦点转移到正下方的下一个单元格,但问题是默认情况下按 enter
还添加了带有 contenteditable
元素的换行符,导致在移动到下一个单元格之前创建一个空行。
两者同时触发,所以我没有机会在不破坏我的功能的情况下取消按键。我发现的所有解决方案都涉及在关注元素时完全禁用回车键,但这在这里不起作用,因为我的功能依赖于在关注元素时能够按回车键。
我只需要 tr
在输入时不插入 <br>
,我不需要禁用我的输入密钥。
在 enter
事件上添加 e.preventDefault()
解决了这个问题。确保你只把它放在 enter
键上而不是所有按键上,否则你将禁用单元格的文本输入,阻止你编辑它们,并确保使用 onkeypress/onkeydown
而不是 onkeyup
.
非常感谢评论中的@Robin Clower 和@Zac。
我正在使用 <tr contenteditable="true">
单元格构建电子表格网站。
我已经实现了一个 onkeyup
功能,当焦点在一个单元格上时按 enter
会将焦点转移到正下方的下一个单元格,但问题是默认情况下按 enter
还添加了带有 contenteditable
元素的换行符,导致在移动到下一个单元格之前创建一个空行。
两者同时触发,所以我没有机会在不破坏我的功能的情况下取消按键。我发现的所有解决方案都涉及在关注元素时完全禁用回车键,但这在这里不起作用,因为我的功能依赖于在关注元素时能够按回车键。
我只需要 tr
在输入时不插入 <br>
,我不需要禁用我的输入密钥。
在 enter
事件上添加 e.preventDefault()
解决了这个问题。确保你只把它放在 enter
键上而不是所有按键上,否则你将禁用单元格的文本输入,阻止你编辑它们,并确保使用 onkeypress/onkeydown
而不是 onkeyup
.
非常感谢评论中的@Robin Clower 和@Zac。