JavaScript事件绑定

同时为一个事件绑定多个处理函数

<script>
        window.onload=function(){
            var btn01=document.getElementById("btn01");
        //     {
        //         //使用对象.事件=函数形式绑定响应函数只能同时绑定一个,多个会覆盖前面
        //     btn01.onclick=function(){
        //         alert("1");
            
        //     }
        //     btn01.onclick=function(){
        //         alert("1");
            
        //     }
        // }

    //     {//addEventListener(),同时绑定多个响应函数,触发时按照绑定顺序响应,参数:1,事件的字符串不要”on“;2,回调函数,事件触发时被调用
    //     //3,是否在捕获阶段触发事件,需要一个布尔值,通常为false。不支持IE8及以下
        
    //     btn01.addEventListener("click",function(){
    //         alert(1)
    //     },false);
  
    // btn01.addEventListener("click",function(){
    //         alert(2);
    //     },false);
    //     }


        // {//attachEvent IE8使用
        // //参数:1,事件字符串要”on“;2,回调函数
        // //相同是同时为一个事件绑定多个处理函数,但不同是它先执行后绑定,执行顺序和addEventListener相反
        // btn01.attachEvent("onclick",function(){
        //     alert(1);
        // })
        // btn01.attachEvent("onclick",function(){
        //     alert(2);
        // })
        bind(btn01,"click",function(){
            alert(1);
        })
    //}


        //定义一个函数,用来指定元素绑定响应函数
        //addEventListener()中的this是绑定事件中的对象;addachEvent()中的this是window,要统一
        //参数:1,obj要绑定事件的对象;2,eventStr事件字符串(不要on);3.callBack回调函数
        function bind(obj,eventStr,callBack){
            //大部分浏览器兼容
            if(obj.addEventLinstener){
                obj.addEventLinstener(eventStr,callBack,false)
            }else{
                // this是由调用方式决定;callback.call(obj)
                obj.attachEvent("on"+eventStr,function(){
                    //在匿名函数调用回调函数
                    callBack.call(obj);
                });
            }

        }


    };

    </script>
</head>
<body>
    <button id="btn01">点我</button>
</body>
</html>

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...