Почему пользовательские события должны быть направлены на объект?

Обновить

November 2018

Просмотры

91 раз

2

Я вижу, что я могу послать пользовательское событие к объекту.

  1. Я задаюсь вопросом, почему пользовательское событие должно быть отправлен к объекту на всех.

  2. Я хочу, чтобы вызвать событие с заданным интервалом, и после прочтения документации на пользовательские события, я до сих пор не понял, как запускать их с функциями. Как это делается?

Например, я хочу использовать , setInterval()чтобы вызвать мое пользовательское событие «nextTime» каждые 30 секунд.

1 ответы

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

Связанные вопросы