【发布时间】:2013-01-30 19:16:17
【问题描述】:
我在使用 JQuery DataTable 捕获 keydown 事件时遇到问题。我的目标是允许用户使用箭头键导航表格的行。因此,当用户按下箭头键时,我想捕获 keydown 事件并移动表的选定行(这是我使用选定行的类在数据表外部跟踪的内容)。但是,我似乎无法捕捉到 keydown 事件。
例如,下面的代码不起作用:
$('#myTable tbody').keydown(function (event){...});
我的想法是问题是表没有焦点,但也许这是错误的路径。例如,即使我添加以下内容,我也不会使用上面的代码捕获 keydown 事件:
$('#myTable tbody').click(function(e){ $('#myTable tbody').focus();});
我可以用 $(document) 捕捉到 keydown,但这是不可取的。
谢谢。
【问题讨论】:
-
你想做什么?您是否正在寻找一个委托处理程序,例如:
$('#myTable').on('keydown', 'input', function(ev){ ... });不确定您为什么要将焦点放在表本身上,我猜您想专注于表中包含的某些内容。你能详细说明一下吗? -
我改进了我的描述,以便为我正在尝试做的事情提供更好的理由。试图把注意力集中在桌子上是我走下去让桌子捕捉 keydown 事件的途径,但这可能是不必要的。我只想让用户使用箭头键导航表格的行(选定的行用于在不同的窗格中填充数据)。