Javascript 未为箭头键触发jQuery输入事件

Javascript 未为箭头键触发jQuery输入事件,javascript,jquery,Javascript,Jquery,我有一个带有几行输入框的网格。现在我想在用户在输入框中键入一些文本时触发一些代码。虽然它确实会触发大多数键,但由于某些原因,它不会触发左/右箭头键。可能是什么问题 $("#my_grid tbody").on('input focus keypress', function(e) { // Not fired for arrow keys (left/right). Not sure why ? }) 问题是在其他事件(如keydown)中检测到箭头键按下。检查此项:在上的

我有一个带有几行输入框的网格。现在我想在用户在输入框中键入一些文本时触发一些代码。虽然它确实会触发大多数键,但由于某些原因,它不会触发左/右箭头键。可能是什么问题

$("#my_grid tbody").on('input focus keypress', function(e) {
// Not fired for arrow keys (left/right). Not sure why ?
})

问题是在其他事件(如keydown)中检测到箭头键按下。检查此项:

在上的
.on中使用
按键功能,并检测输入时按下的箭头

我已经为您重新创建了下面的示例

运行下面的代码段

$(“#我的网格”)。打开('input focus keypress keydown',函数(e){
如果(e.which==37){
警惕(“左按”);
}否则如果(e.which==38){
警惕(“向上按压”);
}否则如果(e.which==39){
警惕(“右按”);
}否则如果(e.which==40){
警惕(“按下”);
}
})


这可能会帮助您选择使用按键功能,并解释为什么按键在所有情况下都不起作用。请尝试使用
keyup
/
keydown
。这是否回答了您的问题
keypress
提供生成的字符,例如
a
a
,而
keydown
提供像
a
shift
a with shift
那样按下的键。不生成字符的键(shift/cursor)不会生成按键事件,因为没有要传递给事件的字符。您介意接受我的答案作为下面的解决方案吗。如果它解决了你想要什么并解决了你的问题?