为什么需要将自定义事件分派给对象?

时间:2014-03-27 20:49:12

标签: javascript events custom-events

我看到我可以向对象发送自定义事件。

  1. 我想知道为什么需要将自定义事件调度到对象。

  2. 我想以固定的时间间隔触发事件,在阅读自定义事件的文档后,我仍然无法弄清楚如何使用函数触发它们。怎么做?

  3. 例如,我想使用setInterval()来触发我的自定义事件' nextTime'每30秒一次。

1 个答案:

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

FIDDLE