按钮5和6都没反应

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

nico_0

2016-03-22 09:50

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>事件</title>

</head>


<body>

<input type="button" value="按钮1" onclick="alert('111')"/>

<input type="button" value="按钮2" onclick="aaa()"/>

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

<input type="button" value="按钮4" id="but4"/>

<input type="button" value="按钮5" id="but5"/>

<input type="button" value="按钮6" id="but6"/>


<script type="text/javascript">

//html方法

function aaa(){

alert("222");

}

//DOM0级

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

but3.onclick=function(){alert("333");};

//DOM2级

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

but4.addEventListener("click",aaa,false);

//but4.removeEventListener("click",aaa,false);

//IE

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

but5.attachEvent("onclick",aaa);

//but5.detachEvent("onclick",aaa);

//跨浏览器


var eventUtil={

addevent:function(ele,type,hander){

if(ele.addEventListener){

ele.addEventListener(type,hander,false);

}

else if(ele.attachEvent){

ele.attachEvent("on"+type,hander);

}

else{

ele["on"+type]=hander;

//ele.onclick===ele["onclick"];

}

},

removeevent:function(ele,type,hander){

if(ele.removeEventListener){

ele.removeEventListener(type,hander,false);

}

else if(ele.detachEvent){

ele.detachEvent("on"+type,hander);

}

else{

ele["on"+type]=null;

}

}

};

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

eventUtil.addevent(but6,"click",aaa);

//but6.attachEvent("onclick",aaa);

</script>


</body>

</html>


写回答 关注

3回答

  • 叶微白_
    2016-03-22 10:42:14
    已采纳

    //IE

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

    but5.attachEvent("onclick",aaa);

    //but5.detachEvent("onclick",aaa);

    //跨浏览器


    这段代码需要注释掉。按钮6就能用,在“//跨浏览器”代码中调用按钮5,按钮5就能用。

    叶微白_ 回复叶微白_

    IE8以及以前的老版本支持attachEvent。2016年微软放弃IE了,window10开始用 Microsoft Edge,以后,随着windows发展,IE不再更新,维护。就像XP一样淘汰。学IT的,多了解下前沿的技术信息。

    2016-03-22 21:04:36

    共 3 条回复 >

  • 丫丫小小笑
    2016-03-22 10:48:18

    而且第5个按钮仅仅是在IE上才支持的,其他浏览器是不支持的。

    丫丫小小笑 回复nico_0

    好像是IE9以前的不支持addEventListener。。。

    2016-03-23 11:46:58

    共 2 条回复 >

  • 丫丫小小笑
    2016-03-22 10:47:13

    //DOM2级

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

    but4.addEventListener("click",aaa,false);

    //but4.removeEventListener("click",aaa,false);

    //IE

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

    but5.attachEvent("onclick",aaa);

    //but5.detachEvent("onclick",aaa);

    把这些都注释掉。。。因为前面写的这些是会对后面的能力选择造成错误的。

DOM事件探秘

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

99545 学习 · 1197 问题

查看课程

相似问题