我希望在使用键盘在网站上按密码时将访问者重定向到某个页面。键盘代码是"向上向下,左下右下方"。我写了代码。但它没有完全发挥作用。因为它只检查按下向上,向下,向左和向右箭头键。不是特定的模式。以下是代码
var map = {38: false, 38: false, 40: false, 40: false, 37: false, 39: false, 37: false, 39: false};
$(document).keyup(function(e)
{
if (e.keyCode in map) {
map[e.keyCode] = true;
if (map[38] && map[38] && map[40] && map[40] && map[37] && map[39] && map[37] && map[39]) {
alert('You have pressed the patten up up down downn left right left right')
}
}
}
);
答案 0 :(得分:0)
兄弟,你得到这种类型的输出,因为你在" Map"中添加了相同的键和值对,你提供了" 38:false,38:false"这意味着提供两次相同的键和值,但只能提供一种类型的一个键值。这意味着只有四个键值对存在,而不是8,这就是为什么它允许用户在单个上下左右后。
答案 1 :(得分:0)
var key = [38, 38, 40, 40, 37, 39, 37, 39],
pos = 0;
$(document).keyup(function(e) {
if (e.keyCode !== key[pos]) {
pos = 0;
} else {
++pos;
if (pos >= key.length) {
pos = 0;
alert('You have pressed the patten up up down downn left right left right');
}
}
});