我有新创建的表,我想将按键事件绑定到 td
我已经编写了以下代码,但它不起作用
$("body").on("keypress",".control table tr td",function(e){
alert(9);
});
我用点击替换了按键然后它正在工作
$("body").on("click",".control table tr td",function(e){
alert(9);
});
实际上,正如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>
根据这个答案,您可能需要设置父元素contentEditable="false"(不确定您的文档结构,但也许tr?)。您也可以尝试为元素contentEditable显式设置。td