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

Javascript 如何在Firefox上的html表上触发onkeydown事件?,javascript,firefox,Javascript,Firefox,我想捕获表单元格上的击键。 我有以下在IE上工作的代码,但在Firefox/Chrome上没有 <table id="testing" onkeydown="alert('testing')"><br /> <tr><td>testing</td></tr>` <br /> </table> <br /> 测试` 有什么建议吗?这似乎是Firefox和Chrome对

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

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

测试`


有什么建议吗?

这似乎是Firefox和Chrome对规范的解释问题,而不是您的代码问题。我只是自己尝试了一下,然后复制了这个问题

W3C规范表明,表格单元格应该支持onkeydown,但Firefox/Chrome目前似乎不支持onkeydown,您可以尝试通过他们的网站将其报告为Firefox bug。你通常会得到一些反馈,比如为什么它坏了(或者为什么他们认为它没有坏,不会像我过去那样修复它)

我可以问一下为什么需要捕获表单元格上的击键吗

  • 如果你希望人们输入文本,那么你应该使用标签来记录按键事件
  • 如果击键是某种导航,那么基于鼠标单击事件的上下文菜单可能会更好
指定大多数标记支持onkeydown

您需要将
tabindex
属性(例如
tabindex=“1”
)设置为某个值,以便它可以标识此表是可通过键盘选择的。这允许触发键盘事件。以下内容将在firefox中使用:

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

测试

*我会报告的。*我用它来导航,和鼠标导航并行。@Stavros,你报告了这个问题吗?如果是这样,你有链接吗?@rstackhouse没有,但我希望它现在已经修复了,尤其是在使用jQuery时。。