2

我看到我可以将自定义事件分派给对象。

  1. 我想知道为什么需要将自定义事件分派给对象。

  2. 我想以设定的时间间隔触发一个事件,在阅读了关于自定义事件的文档之后,我仍然没有弄清楚如何使用函数来触发它们。它是如何完成的?

例如,我想使用setInterval()每 30 秒触发一次自定义事件“nextTime”。

4

1 回答 1

1

dispatching events 和触发它们是一样的,因为它们是自定义事件,它们永远不会被任何东西自然触发,所以你必须自己触发它们。要从间隔触发事件,只需在间隔内调度事件。

你需要一个对象的原因是因为它是一个事件处理程序,如果它没有附加到一个元素,你就不需要一个事件处理程序,你可以只使用常规函数。

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);

小提琴

于 2014-03-27T20:54:52.983 回答