javascript原生的事件扩展

来源:互联网 发布:淘宝机器人客服 编辑:程序博客网 时间:2024/06/13 20:45

最近遇到几个问题,其中一个就是需要手动去触发几个事件,自己又不想用jQuery来实现。

没有办法,自己写一个吧。

下面是简单版的:

//=======================//疯狂紫萧的事件扩展//为了简化事件的发生和触发而写//=======================//判断是否HTML元素function isHtmlControl(obj) {      var d = document.createElement("div");     try{         d.appendChild(obj.cloneNode(true));         return obj.nodeType==1 ? true : false;     }catch(e){         return obj==window || obj==document;     } }  //给原生的Object添加事件绑定:HTML元素// @ param name:事件触发调用名称// @ param eventFunc:触发的事件Object.prototype.addEvent=function(name,eventFunc){if(!isHtmlControl(this))return;var t=this;if(!t._data)t._data=[];t._data[name]=eventFunc;}//触发元素的事件// @ param name:事件触发调用名称Object.prototype.trigger=function(name){var t=this;t._data&&t._data[name]&&t._data[name]();}//删除元素的事件// @ param name:事件触发调用名称Object.prototype.delEvent=function(name){var t=this;if(t._data){delete t._data[name];}}


0 0
原创粉丝点击