0

我有新创建的表,我想将按键事件绑定到 td

我已经编写了以下代码,但它不起作用

$("body").on("keypress",".control table tr td",function(e){
    alert(9);
});

我用点击替换了按键然后它正在工作

$("body").on("click",".control table tr td",function(e){
    alert(9);
}); 
4

2 回答 2

0

实际上,正如W3C中所写,onkeypress 事件可以发生在每个 HTML 元素上,但不能发生在<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 和<title>.

你仍然需要有焦点标签。因此,为了对 a 执行此操作td,您必须使用tabindex属性。

基于这两个链接,您可以执行以下操作:

<!-- this is td that needs to be focused in order to get onkeypress event -->
<td tabindex="1"></td>
于 2013-10-12T20:09:25.220 回答
0

根据这个答案,您可能需要设置父元素contentEditable="false"(不确定您的文档结构,但也许tr?)。您也可以尝试为元素contentEditable显式设置。td

于 2013-10-12T20:05:53.440 回答