javascript - jQuery keydown事件事件数据

标签 javascript jquery jquery-events keydown

我正在将应用程序的 jQuery 版本从 1.4.2 升级。 我有一大块 JS,我不明白为什么它会起作用,但实际上在 1.4.2 中起作用,而在 1.4.3+ 中不起作用

$(document).bind('keydown', 'f3',
           function (event) {
               alert("f3");
               //Do something
});

在 jQuery 1.4.2 中,此功能有效并仅触发 F3 的事件处理程序。 当我升级到 1.4.3+ 时,任何 keydown 都会触发事件处理程序(我认为这是有道理的)。

keydown 事件是否知道使用事件数据并检查按键是否被按下?

任何人都可以帮我澄清它是否有效,如果不是,为什么这段代码可以在 jQuery 1.4.2 中工作? 我检查了发行说明,唯一改变的是为绑定(bind)和 keydown 事件添加了方法签名。

最佳答案

是的。事件对象包含有关事件的所有信息。但您需要使用 keyCodewhich 等属性以及此类属性手动检查 F3。

例如 F3 的 keyCode 是 114。因此您可以这样检查:

if(e.keyCode === 114){
  //F3 is pressed
}

它可能仍然对您有用,因为现在,第二个(可选)参数是您要传递 'f3'

eventData

关于javascript - jQuery keydown事件事件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25488586/

相关文章:

JavascriptCore:在 JSExport 中将 javascript 函数作为参数传递

javascript - Jquery-Mobile:将数据附加到非 native 选择选项菜单

javascript - 合并 json 对象和 javascript 对象

jquery - 将 .Net-Repeater 与 jquery 结合使用

javascript - 创建事件处理程序时,jQuery 是否会修改目标元素?

javascript - 用换行符替换字符

javascript - 每秒“重新启动”jQuery?

javascript - jquery 选择器 "is not a function",可能与包含脚本有关

javascript - 文本的悬停颜色更改

javascript - 如何获取 "attribute event"中的onclick "property event"返回值?