Настройте глобальный прослушиватель / контроллер для событий, запускаемых в документе с помощью 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"});
Другие вопросы по тегам