是否有可能组合按键组合来触发单个事件?
$(document).keyup(function(e){
if (e.keyCode == 68 && e.keyCode == 69 && e.keyCode == 86) {
alert('oh hai');
}
});
我已经在 Chrome 中试过了,但事件没有触发。
说我疯了,但我正在编写一个 Chrome 扩展程序,并且想将 D+E+V 键组合在一起以强制它进入隐藏的开发者模式。
最佳答案
如果你想检测d、e、v键同时按下,你必须观察keydown
和 keyup
并保留下来的 map 。当它们全部关闭时,启动您的事件。
var map = {68: false, 69: false, 86: false};
$(document).keydown(function(e) {
if (e.keyCode in map) {
map[e.keyCode] = true;
if (map[68] && map[69] && map[86]) {
// FIRE EVENT
}
}
}).keyup(function(e) {
if (e.keyCode in map) {
map[e.keyCode] = false;
}
});
我假设您不关心按什么顺序按下它们(因为可靠地按下会很痛苦),只要它们在某个时间点同时按下即可。
关于javascript - 在 jQuery 中检测单个按键事件上的多个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655202/