您的位置:首页 > Web前端 > JavaScript

JavaScript 跨浏览器添加和删除事件

2011-06-30 16:27 519 查看
实现监听事件的添加和删除。直接上代码:

/***跨浏览器实现自定义事件处理
****author:Mygirl
*/
window.CEvent = {
addListener:function(obj,target,act){
if(obj.attachEvent)
obj.attachEvent("on"+target,act);
if(obj.addEventListener)
obj.addEventListener(target,act,false);
},
removeListener:function(obj,target,act){
if(obj.detachEvent)
obj.detachEvent("on"+target,act);
if(obj.removeEventListener)
obj.removeEventListener(target,act,false);
}
}

Object.prototype.eventHandler = function(handler){
var b = this;
b = b;
return function(c){
if(!c){c = window.event;}
if(c&&!c.target) {c.target = c.srcElement}
b[handler](c);
}
};


调用方式为:

var container = document.getElementById("panel");
CEvent.addListener(container,"mousemove",this.eventHandler("onmapmousemove"));
//container.onmousedown = this.eventHandler("onMouseOut");


其中onmapmousemove函数为:

function onmapmousemove(evt){
document.getElementById("panel").left = evt.clientX;
document.getElementById("panel").top = evt.clientY;
//......
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: