zoukankan      html  css  js  c++  java
  • attachEvent和addEventListener

    要给某个按钮添加多个事件,如果使用下面的方式,则只有test3会执行:

         //只执行test3
        document.getElementById("btn").onclick = test1;
       document.getElementById("btn").onclick = test2;
      document.getElementById("btn").onclick = test3;

    这时就需要用到attachEvent或addEventListener,这两个方法用来为某一事件附加其它的处理事件:

        attachEvent        不支持Mozilla系列 用法: object.attachEvent(event,function)
        addEventListener 用于 Mozilla系列  用法: object.addEventListener(type,listener,useCapture)

    如下:

        var btnTest = document.getElementById("btn");
        //IE6\7\8 下测试结果:test3-->test2-->test1
        //IE9     下测试结果:test1-->test2-->test3
        btnTest.attachEvent("onclick", test1);
        btnTest.attachEvent("onclick", test2);
        btnTest.attachEvent("onclick", test3);
        //IE9    下测试结果:test1-->test2-->test3
        //Chrome 下测试结果:test1-->test2-->test3
        //FF     下测试结果:test1-->test2-->test3
        btnTest.addEventListener("click", test1,false);
        btnTest.addEventListener("click", test2, false);
        btnTest.addEventListener("click", test3, false);

    完整的:

          if(window.attachEvent)
          {
              btnTest.attachEvent("onclick", test1);
          }
          else if (window.addEventListener)
          {
              btnTest.addEventListener("click", test1, false);
          }
  • 相关阅读:
    CSS资料:IE8 CSS hack
    作为前端制作师你必须知道的事情!
    TABLE的1PT边框
    IE6 png图片的支持
    开源公司IronTec将推动PHP进驻Android平台
    终于解决了FLASH 播放器的问题了
    Windows7 添加快速启动栏
    不能调试存储过程的解决方法
    给Asp.Net Forums的后台管理菜单做一个树形外衣
    Asp.net Forums与Cnforums研究文章集合
  • 原文地址:https://www.cnblogs.com/liuhaitao/p/2320894.html
Copyright © 2011-2022 走看看