在不禁用按键的情况下防止 html ENTER 事件

问题描述

我正在构建一个使用 <tr contenteditable="true"> 作为单元格的电子表格网站。

我已经实现了一个 onkeyup 函数,当聚焦在一个单元格上时按 enter 会将焦点转移到正下方的下一个单元格,但问题是认情况下按 enter 也会添加带有 contenteditable 元素的换行符,导致在移动到下一个单元格之前创建一个空行。

enter image description here

两者同时开火,所以我没有机会在不破坏我的功能的情况下取消按键。我发现的所有解决方案都涉及在关注元素时完全禁用 Enter 键,但这在这里不起作用,因为我的功能依赖于能够在关注元素时按下 Enter 键。

我所需要的只是让 tr 不插入 <br> 在输入时,我不需要禁用我的输入键。

解决方法

e.preventDefault() 事件上添加 enter 解决了该问题。确保您只将它放在 enter 键上,而不是用于所有按键,否则您将禁用单元格的文本输入,使您无法编辑它们,并确保使用 onkeypress/onkeydown 而不是 { {1}}。

非常感谢评论中的@Robin Clower 和@Zac。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...