src/event.js
var Event = {
on: function(event, callback){
this._events = this._events || {};
this._events[event] = this._events[event] || [];
this._events[event].push(callback);
},
off: function(event, callback){
this._events = this._events || {};
if (event in this._events === false) {
return;
}
this._events[event].splice(this._events[event].indexOf(callback), 1);
},
trigger: function(event,data){ // 触发时传入的数据,加一个data便于理解,可读性更强
this._events = this._events || {};
if (event in this._events === false) {
return;
}
for (var i = 0; i < this._events[event].length; i++) {
this._events[event][i].apply(this, Array.prototype.slice.call(arguments, 1));
}
}
};
var event = {
Event: Event
};
Lettuce.prototype = Lettuce.extend(Lettuce.prototype, event);