addEventListener 事件监听器 冒泡事件)

addEventListener 事件监听器 (冒泡事件)
 
1、后面绑定的事件照样会执行
2、不会被覆盖
3、调用者是事件源but.addEventListener
4、参数1,事件名(不带on 点击,移开)("click",fn1)
5、参数2执行函数("click",fn1)
6、参数3事件名(捕获或者冒泡)
7、火狐谷歌IE9+ 支持addEventListener
 var but=document.getElementsByTagName("button")[0];
    //addEventListener 事件监听器
    //原事件被执行的时候,后面的事件也照样被执行 
    // 第一次执行的事件不会被第二次执行事件沉淀掉
    but.addEventListener("click",fn1);
    but.addEventListener("click",fn2);
    function fn1(){
        console.log("鹅鹅鹅,曲项向天歌")
    }
    function fn2(){
        console.log("白毛浮绿水,红掌拨清波")
    }

8、IE678支持attachevent

but.attachEvent("onclick",fn2)

事件监听器兼容性写法

 var but=document.getElementsByTagName("button")[0];
    function fn1(){
        console.log("鹅鹅鹅,曲项向天歌")
    }
    function fn2(){
        console.log("白毛浮绿水,红掌拨清波")
    }
    //没有赋值返回空,也就是false 有值返回true
    //console.log(but.addEventListener);
    //兼容写法
    EventListen={
        EventListener:function (stl,fn,ele) {
            if(stl.addEventListener){
                stl.addEventListener(ele,fn)
            }else if(stl.attachEvent){
                stl.attachEvent("on"+ele,fn)
            }else{
                stl["on"+ele]=fn
            }
        }
    }
    //调用
    EventListen.EventListener(but,fn1,"click");
    EventListen.EventListener(but,fn2,"click")
原文地址:https://www.cnblogs.com/wdz1/p/7612225.html