首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用JavaScript和jQuery跨浏览器处理按键事件(F1-F12)

使用JavaScript和jQuery跨浏览器处理按键事件(F1-F12)
EN

Stack Overflow用户
提问于 2009-01-08 14:26:23
回答 8查看 175.2K关注 0票数 83

我想使用JavaScript和jQuery来处理F1-F12键。

我不确定有什么陷阱需要避免,而且我目前无法在I 8、Google Chrome和Mozilla FireFox 3以外的其他浏览器上测试实现。

对完整的跨浏览器解决方案有什么建议吗?比如一个经过良好测试的jQuery库,或者仅仅是一些普通的jQuery/JavaScript?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-01-12 18:36:41

对于这类问题,我最好的来源是这个页面:http://www.quirksmode.org/js/keys.html

他们所说的是Safari上的按键代码很奇怪,而在其他地方是一致的(除了IE上没有按键事件,但我相信keydown可以工作)。

票数 27
EN

Stack Overflow用户

发布于 2012-01-10 20:08:08

我同意William的观点,一般来说,劫持功能键不是一个好主意。也就是说,我找到了以一种非常巧妙的方式添加此功能的shortcut库,以及其他键盘快捷键和组合。

一次击键:

shortcut.add("F1", function() {
    alert("F1 pressed");
});

击键组合:

shortcut.add("Ctrl+Shift+A", function() {
    alert("Ctrl Shift A pressed");
});
票数 50
EN

Stack Overflow用户

发布于 2016-11-18 18:48:18

这很简单。

$(function(){
    //Yes! use keydown because some keys are fired only in this trigger,
    //such arrows keys
    $("body").keydown(function(e){
         //well so you need keep on mind that your browser use some keys 
         //to call some function, so we'll prevent this
         e.preventDefault();

         //now we caught the key code.
         var keyCode = e.keyCode || e.which;

         //your keyCode contains the key code, F1 to F12 
         //is among 112 and 123. Just it.
         console.log(keyCode);       
    });
});
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/424407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档