如何创建一个事件监听器来同时监听点击和输入键?

问题描述 投票:0回答:1

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

javascript methods click event-listener keydown
1个回答
0
投票

一种方法可以使用两个标志变量来检查用户是否同时单击并按下了回车键,并使用 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
}

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.