Файл: library/wysihtml5/src/lang/dispatcher.js
Строк: 73
<?php
wysihtml5.lang.Dispatcher = Base.extend(
/** @scope wysihtml5.lang.Dialog.prototype */ {
on: function(eventName, handler) {
this.events = this.events || {};
this.events[eventName] = this.events[eventName] || [];
this.events[eventName].push(handler);
return this;
},
off: function(eventName, handler) {
this.events = this.events || {};
var i = 0,
handlers,
newHandlers;
if (eventName) {
handlers = this.events[eventName] || [],
newHandlers = [];
for (; i<handlers.length; i++) {
if (handlers[i] !== handler && handler) {
newHandlers.push(handlers[i]);
}
}
this.events[eventName] = newHandlers;
} else {
// Clean up all events
this.events = {};
}
return this;
},
fire: function(eventName, payload) {
this.events = this.events || {};
var handlers = this.events[eventName] || [],
i = 0;
for (; i<handlers.length; i++) {
handlers[i].call(this, payload);
}
return this;
},
// deprecated, use .on()
observe: function() {
return this.on.apply(this, arguments);
},
// deprecated, use .off()
stopObserving: function() {
return this.off.apply(this, arguments);
}
});
?>