如果用户在shiftKey上按两次,我想触发一些操作。
当我按下shiftKey一次但如何使这个工作两次
时,此代码正常工作top.addEventListener('keydown', function(e){
if(e.shiftKey) {
alert('work');
}
}, false);
答案 0 :(得分:0)
您可以使用mousetrap.js简化关键事件
使用 mousetrap.js 绑定两个连续的 shift 键可快速写为:
Mousetrap.bind('shift shift', function(e) {
// Do something
});
答案 1 :(得分:0)
只需设置计时器并检测是否在该时间间隔内再次按下了键。
var twice_16 = 0;
$(document).on('keyup', function (e) {
if (e.which === 16) { // shift
if (twice_16 === 1) { // (remember that twice_16 is 0 initially)
alert('Do something! (you pressed Left twice!)');
}
twice_16 = 1; // Set to 1 and...
setTimeout(function () { // ...reset to 0 after 1s
twice_16 = 0;
}, 1000);
}
});
工作演示:https://jsfiddle.net/sachinnambiar/6a0m73nh/1/
取自: How to detect: Press twice the same key, but hold it the second time for 2 seconds