我需要使用key up和key down在表行上滚动。为此,我需要捕获table div上的key事件。如果我用“click”事件替换“keyup”,它工作正常,但相同的代码段不适用于key up和key down。我无法找出问题。
$('#patientWL').on('keyup', '.bodyTable tbody tr', function(e) {
if (e.keyCode == 38) {
alert('key up');
} else if (e.keyCode == 40) {
alert('key down');
}
});
我的问题的工作小提琴可以看到here
2条答案
按热度按时间tyky79it1#
请注意,这不是一个特定于淘汰赛的问题。问题是与元素处理keyup/down/press事件的方式有关。
table
(或tr
,td
)在默认情况下不能被赋予焦点。但是,您可以通过添加tabindex
属性来更改这一点:然后,您可以为
tr
提供焦点,并使用hover
事件模糊它:当
tr
具有焦点时,它将接受键盘事件。gg0vcinb2#
虽然这是一个老问题,但在这里添加一个自定义绑定处理程序实现是值得的(基于以下帖子:(如果是1、2):
第一个