对js类实现简单事件

浏览:1746 发布日期:2015-10-12 01:56:17

         web开发时,我们经常需要组件化,很多时候,我们需要一个简单的事件系统,当指定类型的事件触发时,调用回调函数。

比如,我需要实现一个EventTest类,当触发事件时,调用回调。


var EventTest = (function () {        

var _events = []; //存储事件数组        

var obj = function eventTest(val)        

{        

this.val = val;        

}    

//这里用于测试,直接手动触发事件,这里"s3", this.val作为参数传递给回调函数,那么在回调函数中,我们就可以使用这两个参数

obj.prototype.tt = function (type) 

{

trigger(type, "s3", this.val);    

};    

function trigger(type, arg1, arg2) //回调触发的函数    

{

if (_events[type])

{    

_events[type](arg1, arg2);

}    

}    

obj.prototype.add3 = function (type, fun) //添加回调    

{

_events[type] = fun;    

};  

return obj;

})();


以上就是一个类添加事件的简单实现。