|
- define([
-
- ], function (
-
- ) {
- var events = {
- events: {},
-
- on: function (event, callback) {
- var list = this.events[event] || (this.events[event] = []);
- list.push(callback);
-
- return callback;
- },
-
- off: function (event, callback) {
- var list = this.events[event] || [];
- var lLen = list.length;
- for (var i = 0; i < lLen; i++) {
- if (list[i] == callback) {
- list.splice(i, 1);
- i--;
- lLen--;
- }
- }
-
- if (lLen == 0)
- delete this.events[event];
- },
-
- emit: function (event) {
- var args = [].slice.call(arguments, 1);
-
- var list = this.events[event];
- if (!list)
- return;
-
- var len = list.length
- for (var i = 0; i < len; i++) {
- var l = list[i];
- l.apply(null, args);
- }
- }
- };
-
- return events;
- });
|