Заметки за ноябрь 2013 года

Колбек в триггере события

Изначально не предполагается, что обработчик события может вернуть какие-то данные функции, которая сгенерировала это событие.

Однако, в числе прочих дополнительных параметров, событию можно передать функцию, которая может быть вызвана внутри обработчика.


var a = {};

$(a).on("customEvent", function (e, callback) {
  callback(Math.random());
});

$(a).trigger("customEvent", [
  function (v) { alert(v); }
]);

Пример на jsfiddle.net

Такой трюк может быть чрезвычайно полезен в случаях, когда одному модулю нужны какие-то данные от другого модуля, но связаться между собой они могут только с помощью событий.

Оставте свой комментарий