第一次提交
This commit is contained in:
commit
8121362a03
4412 files changed
+1091845
No files matched your search
@@ -0,0 +1,83 @@
|
||||
define(function(require, exports, module) {
|
||||
var logger = require("./logger");
|
||||
|
||||
|
||||
var indexId = 0;
|
||||
|
||||
var getNextId = function(){
|
||||
return indexId ++;
|
||||
}
|
||||
|
||||
var eventClass = function(){
|
||||
var eventArray = [];
|
||||
this.addEvent = function(name,fn){
|
||||
// logger.debug(['event util addEvent',name,fn]);
|
||||
var evt = {
|
||||
name:name,
|
||||
fn:fn
|
||||
};
|
||||
eventArray.push(evt);
|
||||
}
|
||||
this.removeEvent = function(name,fn){
|
||||
// logger.debug(['event util removeEvent',name,fn]);
|
||||
var newArr = [];
|
||||
for(var i in eventArray){
|
||||
var e = eventArray[i];
|
||||
if(e.name == name && e.fn == fn){
|
||||
// logger.debug("event util removeEvent found:"+name);
|
||||
}else{
|
||||
newArr.push(e);
|
||||
}
|
||||
}
|
||||
eventArray = newArr;
|
||||
}
|
||||
this.trigerEvent = function(name,data){
|
||||
// logger.debug(['event util trigerEvent',name,data]);
|
||||
for(var i in eventArray){
|
||||
var e = eventArray[i];
|
||||
if(e && e.name == name){
|
||||
// logger.debug(["event util trigerEvent found:",name,data]);
|
||||
e.fn.apply(window,[data]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.getEvents = function(){
|
||||
return eventArray;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
var eventInstances = {};
|
||||
|
||||
/**
|
||||
* 创建一个时间处理器实例,传一个名字,如果name为空则实例一个,如果不为空则返回已有的实例或者新建一个
|
||||
* @prama 处理器名字,
|
||||
* @return 事件处理实例
|
||||
*/
|
||||
var careteEventInstance = function(name){
|
||||
if(!name){
|
||||
|
||||
return new eventClass();
|
||||
}
|
||||
|
||||
if(name in eventInstances){
|
||||
|
||||
return eventInstances[name];
|
||||
}
|
||||
var instance = new eventClass();
|
||||
eventInstances[name] = instance;
|
||||
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
getInstance:careteEventInstance
|
||||
};
|
||||
|
||||
window.eventUtil = module.exports;
|
||||
|
||||
});
|
||||
Reference in new issue
Block a user