A-> B-> Cキーが連続して(互いに)押された場合のように、空白のhtmlページでキープレスを記録する方法を知りたいのですが、divを表示するか、ユーザーをリダイレクトします。また、ユーザーが A->B-> を押して C を押していない場合は、配列をリセットして、目的のアクションをトリガーするためにユーザーが (最初から) もう一度入力する必要があるようにします。
2 に答える
0
大まかな例
var checkArray = [],
error = 'Enter the right combination !!',
success = 'Success !!',
$div = $('#div'),
timer = 1000,
timeout;
$(document).on('keyup', function (e) {
if(timeout) clearTimeout(timeout);
var keyPressed = e.keyCode;
(keyPressed > 64 && keyPressed < 68) ? checkArray.push(keyPressed)
: checkArray = [];
console.log(checkArray.join('-'));
if (checkArray && checkArray.length === 3) {
if (checkArray[0] === 65 && checkArray[1] === 66
&& checkArray[2] === 67) {
$div.text(success).addClass('a');
timer = 2000;
}
} else {
$div.text(error).removeClass('a');
}
timeout = setTimeout(reset, timer);
});
function reset() {
timer =1000;
checkArray = [];
$div.text(error).removeClass('a');
}
于 2013-05-23T01:06:06.177 に答える