如何创建事件侦听器以同时侦听单击和回车键?

how do you create an event listener to listen for click and enter key at the same time?

提问人:DeBoer753 提问时间:3/19/2023 最后编辑:DeBoer753 更新时间:3/19/2023 访问量:197

问:

如何创建一个事件侦听器,用很少的代码同时监听单击和输入键?有没有简短的方法?在一个完美的世界里,我会想象像addEventListner('click', 'keyDown-enter'){}

JavaScript 方法 单击 Event-Listener Keydown

评论

1赞 Nick Parsons 3/19/2023
您忘记包含示例代码

答:

0赞 Yatharth Shrivastava 3/19/2023 #1

一种方法是使用两个标志变量来检查用户是否同时单击并按下了回车键,并 setTimeout 删除标志。


var flagClick = false;
var flagEnter = false;
var element = document.body // You must specify element here.

element.addEventListener('click', e => {
    flagClick = true;
    setTimeout(()=>{flagClick=false},100);
    if(flagEnter){
        trigger();
    }
});
element.addEventListener('keydown', e => {
    if(e.key == 'Enter') {
        flagEnter = true;
        setTimeout(()=>{flagEnter=false},100);
        if(flagClick){
            trigger();
        }
    }
});

function trigger(){
  // your code
}

希望它有所帮助。