我看到我可以向对象发送自定义事件。
我想知道为什么需要将自定义事件调度到对象。
我想以固定的时间间隔触发事件,在阅读自定义事件的文档后,我仍然无法弄清楚如何使用函数触发它们。怎么做?
例如,我想使用setInterval()
来触发我的自定义事件' nextTime'每30秒一次。
答案 0 :(得分:1)
调度事件与触发它们相同,因为它们是自定义事件,它们永远不会被任何事物自然触发,因此您必须自己触发它们。要从间隔触发事件,只需在间隔内调度事件。
你需要一个对象的原因是因为它是一个事件处理程序,如果它没有附加到一个元素,你真的不需要一个事件处理程序,你可以只使用常规函数代替。
var event = new Event('custom'),
elem = document.getElementById('test');
elem.addEventListener('custom', function (e) {
console.log('custom triggered');
}, false);
setInterval(function() {
elem.dispatchEvent(event);
}, 30000);