详解javascript跨浏览器事件处理程序
本文为大家分享了javascript跨浏览器事件处理机制,供大家参考,具体内容如下
<!doctypehtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>跨浏览器的事件处理程序</title>
</head>
<body>
<inputtype="button"value="clickme"id="myBtn"/>
<inputtype="button"value="解除"id="unlisten"/>
<script>
function$(id){
returndocument.getElementById(id);
}
varEventUtil={
fnCount:0
,fnData:{}
,addHandler:function(element,type,handler){
this.fnCount++;
handler.fid=this.fnCount;
var_fn=handler;
handler=function(){
_fn.call(element);
};
this.fnData[this.fnCount]=handler;
if(element.addEventListener){
element.addEventListener(type,handler,false);
}elseif(element.attachEvent){
element.attachEvent("on"+type,handler);
}else{
element["on"+type]=handler;
}
}
,removeHandler:function(element,type,handler){
handler=this.fnData[handler.fid];
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}elseif(element.detachEvent){
element.detachEvent("on"+type,handler);
}else{
element["on"+type]=null;
}
}
}
varbtn=$("myBtn");
varunbtn=$('unlisten');
varbindFn1=function(){
alert(this.id);
};
varbindFn2=function(){
alert('2');
};
EventUtil.addHandler(btn,"click",bindFn1);
EventUtil.addHandler(btn,"click",bindFn2);
//EventUtil.removeHandler(btn,"click",bindFn1);
EventUtil.addHandler(unbtn,"click",function(){
EventUtil.removeHandler(btn,"click",bindFn1);
});
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下