繁体   English   中英

如何在Firefox上的html表上触发onkeydown事件?

[英]How can I trigger an onkeydown event on html table on Firefox?

我想捕获表格单元格上的击键。 我有以下代码在IE上工作但在Firefox / Chrome上没有。

<table id="testing" onkeydown="alert('testing')"><br />
    <tr><td>testing</td></tr>` <br />
    </table>
<br />

有什么建议吗?

http://www.w3schools.com/jsref/jsref_onkeydown.asp指定大多数标签支持onkeydown。

您需要将tabindex属性(例如tabindex="1" )设置为某个值,以便识别此表是键盘可选的。 这允许触发键盘事件。 以下将在Firefox中工作:

<table id="testing" onkeydown="alert('testing')" tabindex="0"><br />
<tr><td>testing</td></tr><br />
</table> 

这似乎是Firefox和Chrome对规范的解释而不是您的代码的问题。 我自己尝试过并重现了这个问题。

W3C规范显示表格单元格应支持onkeydown,但目前似乎不支持Firefox / Chrome,您可以尝试通过其网站将此报告为Firefox错误。 你通常会得到一些反馈,说明它为什么会被打破(或者为什么他们认为它没有被破坏而且不会像我过去那样修复它)

我可以问为什么你需要捕获表格单元格上的击键?

  • 如果您希望人们输入文本,那么您应该使用<input>标签,这将很好地注册按键事件。
  • 如果击键是某种导航,那么基于鼠标点击事件完成的上下文菜单可能会更好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM