我有一个事件监听器
elem.addEventListener('evt', fooFn(){alert("OK")});
我想为这个事件监听器设置一个超时时间。因此,假设它在 3 秒内没有收到任何名为“evt”的事件,我希望收到它超时的通知。
我尝试使用
setTimeout
函数,但到目前为止我还没有设法将 addEventListener
回调函数 ( fooFn
) 的内部变量传递给 setTimeout
一个。关于我如何做到的任何想法?
最佳答案
var evtFired = false;
setTimeout(function() {
if (!evtFired) {
// show notification that evt has not been fired
}
}, 3000);
function fooFn() {
evtFired = true;
alert('OK');
}
elem.addEventListener('evt', fooFn);
也许这会起作用,只需将“内部变量”放在外部作用域中
关于javascript - 将超时设置为事件监听器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43583894/