如何检测:按两次相同的键,但第二次按住2秒钟?
我正在寻找一种有效的方法来检测键码37(左箭头)(或必要时的任何其他键)的keydown事件,然后在释放后立即对同一个键码进行第二次键控1.5或2秒密钥,在给定的延迟内,如1秒。
这是在“回到上一页”(这是我想要做的)和“在同一页面上继续前进这个元素”之间没有混淆的回归
我已经在$(document.ready()标记中尝试使用old_keycode和old_keycode_timepressed以及new_keycode new_keycode_timepressed,但是我需要为我想要的每个键码复制/粘贴整个代码,而代码本身效率不高。< / p>
有人听说过一个可以帮助我的插件,或者有人愿意帮助我吗?
感谢您的时间。
答案 0 :(得分:2)
<强> jsFiddle demo 强>
var twice_37 = 0;
$(document).on('keyup', function( e ){
if(e.which===37){ // If left arrow
if(twice_37===1){ // (remember that twice_37 is 0 initially)
alert('Do something! (you pressed Left twice!)');
}
twice_37 = 1; // Set to 1 and...
setTimeout(function(){ // ...reset to 0 after 1s
twice_37 = 0;
}, 1000);
}
});