如何在JavaScript中设置按Shift键3次触发事件?
Shift键三连击触发事件的实现方案
我现在用以下代码实现了按一次Shift键就触发事件:
function Press(){ document.querySelector("body").addEventListener("keyup", event => { if(event.key !== "Shift") return; document.getElementById("myElement").click(); event.preventDefault(); }); }
请问该如何修改代码,让它变成快速按下Shift键3次后,才执行document.getElementById("myElement").click()这个事件?
更新:
在@deceze的帮助下,我已经得到了可用的代码:
function Press(){ document.addEventListener("keyup", event => { if(event.key !== "Shift") return; shift_pressed = typeof shift_pressed !== 'undefined' ? shift_pressed : 0; shift_pressed++; setTimeout(() => { shift_pressed= shift_pressed-1 >= 0 ? shift_pressed-1 : 0; }, 1000); if (shift_pressed===3){ document.getElementById("myElement").click(); shift_pressed=0; } event.preventDefault(); }); }
感谢大家的帮助!
内容的提问来源于stack exchange,提问作者Daria
相关产品推荐
相关产品推荐

