Настройте глобальный прослушиватель / контроллер для событий, запускаемых в документе с помощью CanJS
Возможно, это не обычный случай использования, но у меня есть несколько пользовательских событий, запускаемых в документе, и приложение их прослушивает. Пример: http://jsbin.com/uradod/3/edit
Как я могу преобразовать это, чтобы быть контроллером CanJS? У меня было что-то похожее на это: http://jsbin.com/uradod/6/edit. Является ли это возможным? Если так, то как?
1 ответ
Решение
Вы можете прослушать нестандартные события, добавив пробел перед именем события. По какой-то причине он не работал на JSBin, но вот Fiddle: http://jsfiddle.net/BT95c/
can.Control('Events',
/** @Static */
{},{
" sampleEvent" : function(el, ev, data)
{
$('body').html('Controller: ' + data.text);
}
});
var events = new Events(document);
$(document).trigger("sampleEvent", {text:"Event trigger"});