Chr*_*ams 45 javascript jquery
有没有办法让jQuery检测到同时按下了多个键?
是否有任何替代方案可以同时按下两个键进行检测?
Dav*_*ang 76
要检测按下的多个键,请使用keydown和keyup事件.
var keys = {};
$(document).keydown(function (e) {
keys[e.which] = true;
});
$(document).keyup(function (e) {
delete keys[e.which];
});
Run Code Online (Sandbox Code Playgroud)
我在这里放了一个演示:http://jsfiddle.net/gFcuU/.这很有趣,虽然我注意到我的键盘最多只能检测到6个键.
jAn*_*ndy 54
这取决于.对于"正常"的钥匙,这意味着非Shift,Ctrl,ALT,( CMD),答案是否定的,该事件处理程序将赶上/火在队列中,一个接一个.
对于我上面提到的修饰键,事件对象上有一个属性.
例:
$(document).bind('keypress', function(event) {
if( event.which === 65 && event.shiftKey ) {
alert('you pressed SHIFT+A');
}
});
Run Code Online (Sandbox Code Playgroud)
其他财产是:
event.ctrlKeyevent.altKeyevent.metaKey