我如何检测当一个方向键被按下?我用这个找到了答案:
function checkKey(e) {
var event = window.event ? window.event : e;
console.log(event.keyCode)
}
虽然它适用于所有其他键,但它不适用于方向键(可能是因为浏览器默认情况下应该在这些键上滚动)。
我如何检测当一个方向键被按下?我用这个找到了答案:
function checkKey(e) {
var event = window.event ? window.event : e;
console.log(event.keyCode)
}
虽然它适用于所有其他键,但它不适用于方向键(可能是因为浏览器默认情况下应该在这些键上滚动)。
当前回答
我也一直在寻找这个答案,直到我看到这篇文章。
我已经找到了另一个解决方案,知道不同的钥匙的键码,礼貌的我的问题。我只是想分享我的解决方案。
只需使用keyup/keydown事件在控制台/警报中写入值,使用event. keycode相同。像- - - - - -
console.log(event.keyCode)
// or
alert(event.keyCode)
——rupam
其他回答
这个图书馆真棒! https://craig.is/killing/mice
Mousetrap.bind('up up down down left right left right b a enter', function() {
highlight([21, 22, 23]);
});
不过,您需要快速按下序列以突出显示该页中的代码。
方向键只能由onkeydown触发,而不是onkeypress。
键码是:
左= 37 Up = 38 右= 39 下降= 40
我已经能够用jQuery捕获它们:
$(document).keypress(function (eventObject) {
alert(eventObject.keyCode);
});
示例:http://jsfiddle.net/AjKjU/
方向键在keyup时触发
$(document).on("keyup", "body", function(e) {
if (e.keyCode == 38) {
// up arrow
console.log("up arrow")
}
if (e.keyCode == 40) {
// down arrow
console.log("down arrow")
}
if (e.keyCode == 37) {
// left arrow
console.log("lefy arrow")
}
if (e.keyCode == 39) {
// right arrow
console.log("right arrow")
}
})
Onkeydown允许ctrl, alt,屎
Onkeyup允许标签,向上箭头,向下箭头,向左箭头,向下箭头
如果你使用jquery,你也可以这样做,
$(document).on("keydown", '.class_name', function (event) {
if (event.keyCode == 37) {
console.log('left arrow pressed');
}
if (event.keyCode == 38) {
console.log('up arrow pressed');
}
if (event.keyCode == 39) {
console.log('right arrow pressed');
}
if (event.keyCode == 40) {
console.log('down arrow pressed');
}
});