【发布时间】:2021-05-12 10:05:48
【问题描述】:
我正在使用<tr contenteditable="true"> 为单元格构建一个电子表格网站。
我已经实现了一个onkeyup 函数,当专注于一个单元格时按下enter 会将焦点转移到正下方的下一个单元格,但问题是默认情况下按下enter 还会添加一个带有@987654327 的换行符@ 元素,导致在移动到下一个单元格之前创建一个空行。
两者同时开火,所以我没有机会取消按键而不破坏我的功能。我发现的所有解决方案都涉及在专注于元素时完全禁用 enter 键,但这在这里不起作用,因为我的功能依赖于能够在专注于元素时按下 enter。
我只需要 tr 不插入 <br> 在输入时,我不需要禁用我的输入键。
【问题讨论】:
-
在 keydown 函数开始时,您是否尝试过执行 e.preventDefault()?
-
是的,但这会禁用文本输入,阻止我在单元格中输入任何内容。但是,skipRow() 函数仍然有效。
-
不要对所有键都禁用它,在做preventDefault之前检查键是否输入
-
感谢工作!还必须确保我正在执行 onkeypress/down 而不是 onkeyup。
标签: javascript html html-table element onkeypress