IE9和IE10为什么都会执行这段代码,而且弹出顺序是从上到下,换成IE8顺序就换成从下到上了

IE9和IE10为什么都会执行这段代码,而且弹出顺序是从上到下,换成IE8顺序就换成从下到上了

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>IE事件处理程序</title>
        
    </head>

    <body>
     <button id="btn">点击我</button>
     <script type="text/javascript">
     //html属性添加事件
     //DOM0级事件绑定  兼容所有的浏览器
     //DOM2级事件绑定  addEventListener:chrome/firefox/IE9等   attachEvent:IE8及以下的浏览器

     //IE8及以下版本适用
     var btn=document.getElementById("btn");
     var click=function(){
     alert("点击成功");
     };
     var click2=function(){
     alert("再次点击成功");
     };
     //在IE低版本中使用attachEvent方法,执行的时候是倒序的,先执行最后一个
     btn.attachEvent("onclick",click);
     btn.attachEvent("onclick",click2);

     </script>
    </body>
 </html>

http://img1.sycdn.imooc.com//climg/5d68e9ce00011cd109460414.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
我学习太差被关起来了 2019-10-05 22:33:19

我也发现这个问题。IE8-浏览器的事件句柄执行顺序与代码书写的先后顺序相反,实在奇葩。


http://img1.sycdn.imooc.com//climg/5d98a99c0829063309290715.jpg

好帮手慕星星 2019-08-30 18:57:29

同学你好,

低版本IE浏览器8以及以下确实是有这种问题,后绑定的先执行,可以理解为一个bug。

IE9以及IE10中是先绑定的先执行,这是正常的顺序,修复了前面的bug,浏览器更新迭代也会解决之前的问题的。

记住这样的顺序就可以,祝学习愉快!

  • 提问者 weixin_慕斯1009030 #1
    那请问视频中老师讲到IE8以上版本不适用attachEvent方法,为什么还是会执行呢
    2019-09-02 10:11:50
  • 同学你好, IE9及以上的版本支持addEventListener方法, 同时也支持attachEvent方法。视频中老师按照DOM2事件, 简单划分了一下浏览器支持情况,便于大家更好的理解哦, 祝学习愉快~~~~
    2019-09-02 11:21:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师