Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不禁用按键的情况下防止html ENTER事件_Javascript_Html_Html Table_Element_Onkeypress - Fatal编程技术网

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键。