我有一个事件侦听器
elem.addEventListener('evt', fooFn(){alert("OK")});我想让这个事件侦听器超时。因此,假设它在3秒内没有收到任何名为'evt‘的事件,我希望有一个通知它超时了。
我尝试使用setTimeout函数,但到目前为止,我还没有设法将addEventListener回调函数(fooFn)的内部变量传递给setTimeout函数。
对我怎么能做到有什么想法吗?
发布于 2017-04-24 09:19:17
尝试以下解决方案:
let btn = document.getElementById('btn');
let timeOut = setTimeout(() => {
btn.removeEventListener('click', handler);
alert('no event on btn');
}, 3000);
let handler = x => {
clearTimeout(timeOut);
alert('click on btn')
};
btn.addEventListener('click', handler);<button id="btn">click me within 3 sec</button>
https://stackoverflow.com/questions/43583894
复制相似问题