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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值