Javascript 在不禁用按键的情况下防止html ENTER事件
我正在使用单元格的Javascript 在不禁用按键的情况下防止html ENTER事件,javascript,html,html-table,element,onkeypress,Javascript,Html,Html Table,Element,Onkeypress,我正在使用单元格的构建一个电子表格站点 我已经实现了一个onkeyup功能,在聚焦于一个单元格时按enter可以将焦点转移到正下方的下一个单元格,但问题是默认情况下按enter也会添加一个包含contenteditable元素的换行符,导致在移动到下一个单元格之前创建空行 两者同时启动,所以我没有机会取消按键而不破坏我的功能。我发现的所有解决方案都涉及在关注元素时完全禁用enter键,但这在这里不起作用,因为我的功能依赖于在关注元素时能够按enter键 我只需要让tr在回车时不插入,我不需要禁
构建一个电子表格站点
我已经实现了一个onkeyup
功能,在聚焦于一个单元格时按enter
可以将焦点转移到正下方的下一个单元格,但问题是默认情况下按enter
也会添加一个包含contenteditable
元素的换行符,导致在移动到下一个单元格之前创建空行
两者同时启动,所以我没有机会取消按键而不破坏我的功能。我发现的所有解决方案都涉及在关注元素时完全禁用enter键,但这在这里不起作用,因为我的功能依赖于在关注元素时能够按enter键
我只需要让
tr
在回车时不插入
,我不需要禁用回车键。在回车时添加e.preventDefault()
事件解决了问题。确保只将其置于enter
键上,而不是所有按键,否则将禁用单元格的文本输入,使您无法编辑它们,并确保使用onkeypress/onkeypdown
而不是onkeypup
非常感谢评论中的@Robin Clower和@Zac。在keydown函数的开头,您是否尝试过使用e.preventDefault()?是的,但这会禁用文本输入,阻止我在单元格中键入任何内容。但是skipRow()函数仍然可以工作。不要对所有键禁用它,请在执行此操作之前检查键是否为enter!还必须确保我是在按onkeypress/down键,而不是在按onkeypup键。