事件的绑定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload=function(){

            /* 
                点击按钮以后弹出一个内容
            */
            // 获取按钮对象
            var btn01=document.getElementById("btn01");

            /* 
                使用 对象.事件=函数的i形式绑定响应函数,
                它只能同时为一个元素的一个事件绑定一个响应函数,
                不能绑定多个,如果绑定了多个,则后边会覆盖掉前边的
            */

            // 为btn01绑定一个单击响应函数
           /*  btn01.onclick=function(){
                alert(1);
            }; */
            // 为btn01绑定第二个单击响应函数
           /*  btn01.onclick=function(){
                alert(2);
            };
 */

            /* 
                addEventListener()
                 -通过这个方法也可以先为元素绑定响应函数
                 -参数:
                    1.事件的字符串,不要on 
                    2.回调函数,当事件触发时该函数会被调用
                    3.是否在捕获阶段触发事件,需要一个布尔值,一般都传false

                使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,
                这样当事件被触发时,响应函数将会按照函数的绑定顺序执行

                这个方法不支持IE8及以下的浏览器
            */
          /*  btn01.addEventListener("click",function(){
               alert(1);
           },false);
           btn01.addEventListener("click",function(){
               alert(2);
           },false);
           btn01.addEventListener("click",function(){
               alert(3);
           },false); */
           
           /* 
           attachEvent()
                -在IE8中可以使用attachEvent()来绑定事件
                -参数:
                    1.事件的字符串,要on
                    2.回调函数

                -这个方法也可以同时为一个事件绑定多个处理函数,
                不同是它是后绑定先执行,执行顺序和addEventListener()相反
           */
            /*btn01.attachEvent("onclick",function(){
               alert(1);
           });
           btn01.attachEvent("onclick",function(){
               alert(2);
           });
           btn01.attachEvent("onclick",function(){
               alert(3);
           }); */
           /* btn01.addEventListener("click",function(){
               alert(this);
           },false); */
           /* btn01.attachEvent("onclick",function(){
               alert(this); 
                });*/
            bind(btn01,"click",function(){
                alert(1);
            })
            };
        // 定义一个函数,用来为指定元素绑定响应函数
        /* 
         addEventListener()中的this,是绑定事件的对象
         attachEvent()中的this,是window
         需要统一两个方法this
        */
        /* 
           参数:
           obj 要绑定事件的对象
           eventStr 事件的字符串
           callback 回调函数
        */

        function bind(obj,eventStr,callback){
            if(obj.addEventListener){
            // 大部分浏览器兼容的方式
            obj.addEventListener(eventStr,callback,false);
            }else{
            // IE8及以下
            obj.attachEvent("on"+eventStr,callback);

                
            }


        }
        
    </script>
</head>
<body>
    

    <button id="btn01">点我一下</button>
</body>
</html>

 

原文地址:https://www.cnblogs.com/hr-7/p/14166469.html