如果把removeHandler这个句柄删除或者注释后 eventUtil.addHandler(btn3,'click',showMes); 才可以执行

来源:2-4 IE事件处理程序及跨浏览器解决

念旧的拾荒者3981222

2017-03-16 22:58

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<div>

<input type="button" value="按钮3" id="btn3">

</div>

<script type="text/javascript">

function showMes(){

alert("hello world!");

}

var btn3=document.getElementById("btn3");

var eventUtil={

//添加句柄

addHandler:function(element,type,handler){

if(element.addEventListener){

element.addEventListener(type,handler,false);

}

else if (element.attachEvent) {

element.attachEvent("on"+type,handler);

}

else{

element["on"+type]=handler;

}

}

//删除句柄

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;

}

}

}

eventUtil.addHandler(btn3,"click",showMes);

</script>

</body>

</html>


写回答 关注

1回答

  • Emily梦
    2017-03-17 11:09:38
    已采纳

    需要在addEventHandler结束后加逗号,eventUtil是一个包含键值对的对象,每个键值对中间需要加逗号

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99544 学习 · 1197 问题

查看课程

相似问题