所以我写了这个脚本,以便你可以在你的网站上有键盘快捷键,我想知道如何做多个键(即不只是做“左箭头”键,它将是“ctrl +左箭头” “这是我目前的语法:
var arrow = {
left: 37,
up: 38,
right: 39,
down: 40
};
function DoSomething() {}
$(document).ready(function() { // requires jQuery
$("body").keydown(function(event) {
if(event.keyCode == arrow.left) {
DoSomething();
}
}
}
但我想做的是这样的事情:
var arrow = {
left: 37,
up: 38,
right: 39,
down: 40
},
ctrl = 17;
function DoSomething() {}
$(document).ready(function() { // requires jQuery
$("body").keydown(function(event) {
if(event.keyCode == ctrl && arrow.left) {
DoSomething();
}
}
}
答案 0 :(得分:5)
jQuery中提供的事件对象会告诉您是否正在按下ctrl
键。
$(document).on("keydown", function (event) {
if (event.ctrlKey && event.which === arrow.left) {
console.log("You pressed left, and control.");
}
});
答案 1 :(得分:1)
jQuery已经做到了。除了跟踪按下了哪个键之外,您还可以获得有关键是否与alt
,ctrl
或shift
组合使用的信息,其属性如下所示:
$(document).keydown(function(e) {
console.log('key code is: ' + e.which + ' ' + (e.ctrlKey ? 'Ctrl' : '') + ' ' +
(e.shiftKey ? 'Shift' : '') + ' ' + (e.altKey ? 'Alt' : ''));
});
因此,要检查键组合是否为Ctrl + Up,您的条件将如下所示:
if( e.which == 38 && e.ctrlKey ){
console.log('You pressed Ctrl+Up');
...
}