let hashHandle = {};
var addEvent = (function () {
if(window.addEventListener)
{
return function (ele,type,fn,flag) {
ele.addEventListener(type,function () {
fn();
hashHandle[type] = hashHandle[type] || [];
hashHandle[type].push(arguments.callee);
},flag)
}
}
else if(window.attachEvent)
{
return function (ele,type,fn,flag) {
ele.attachEvent("on" + type,function () {
fn();
hashHandle[type] = hashHandle[type] || [];
hashHandle[type].push(arguments.callee);
});
}
}
}());
var rmEvent = (function () {
if(window.removeEventListener)
{
return function (ele,type) {
if(hashHandle[type])
{
let i=0;
for(i = 0;i<hashHandle[type].length;i++)
{
ele.removeEventListener(type,hashHandle[type][i]);
}
}
}
}
else if(window.attachEvent)
{
return function (ele,type) {
if(hashHandle[type])
{
for(let i=0;i<hashHandle[type].length;i++)
{
ele.detachEvent("on" + type,hashHandle[type][i]);
}
}
}
}
}());
var eventUtil = {
getEvent:function (ev) {
return ev ?ev : window.event;
},
getEventTarget:function (ev) {
return ev.target || ev.srcElement;
},
addHandler:function(element,type,handler){ //添加事件
if(element.addEventListener){
element.addEventListener(type,handler,false); //使用DOM2级方法添加事件
}else if(element.attachEvent){ //使用IE方法添加事件
element.attachEvent("on"+type,handler);
}else{
element["on"+type]=handler; //使用DOM0级方法添加事件
}
},
removeHandler:function(element,type,handler){ //取消事件
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent("on"+type,handler);
}else{
element["on"+type]=null;
}
},
preventDefault: function (ev) {
if(ev.preventDefault)
{
ev.preventDefault();
}
else {
ev.returnValue = false;
}
},
stopPropagation:function (ev) {
if(ev.stopPropagation) {
ev.stopPropagation()
}
else {
ev.cancelBubble = true;
}
}
}
支持匿名函数 事件处理对象
最新推荐文章于 2023-02-16 08:00:00 发布