我想使用JavaScript和jQuery来处理F1-F12键。
我不确定有什么陷阱需要避免,而且我目前无法在I 8、Google Chrome和Mozilla FireFox 3以外的其他浏览器上测试实现。
对完整的跨浏览器解决方案有什么建议吗?比如一个经过良好测试的jQuery库,或者仅仅是一些普通的jQuery/JavaScript?
发布于 2009-01-12 18:36:41
对于这类问题,我最好的来源是这个页面:http://www.quirksmode.org/js/keys.html
他们所说的是Safari上的按键代码很奇怪,而在其他地方是一致的(除了IE上没有按键事件,但我相信keydown可以工作)。
发布于 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");
});
发布于 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);
});
});
https://stackoverflow.com/questions/424407
复制相似问题