Показать сообщение отдельно
  #18 (permalink)  
Старый 19.03.2014, 17:54
Интересующийся
Посмотреть профиль Найти все сообщения от Maxmaxmaximus11
 
Регистрация: 19.03.2014
Сообщений: 14

Ну а дальше вы можете расширять этот каркас всякими деструкторами и евент эмиттерами:

var EventEmitter = Class.extend(function () {


    this.constructor = function () {
        this._handlersStore = {}
    };


    this.on = function (type, handler) {
        var handlersStore = this._handlersStore;
        var handlers = handlersStore[type] || (handlersStore[type] = []);

        handlers.push(handler);
    };

    this.emit = function (type) {
        var self = this;
        var eventArgs = [].slice.call(arguments, 1);
        var handlersStore = this._handlersStore;
        var handlers = handlersStore[type] || [];

        handlers.forEach(function (handler) {
            handler.apply(self, eventArgs);
        });
    };

});


var q = new EventEmitter();

q.on('click', function () {
    alert('on click!');
});

q.emit('click');

Последний раз редактировалось Maxmaxmaximus11, 19.03.2014 в 18:17.
Ответить с цитированием