您的位置:首页 > Web前端 > JavaScript

JavaScript事件绑定与冒泡捕获

2016-03-03 20:05 525 查看
原生JS绑定事件
IE8(不包括IE8) 以上
绑定事件:element.addEventListener(event,function,useCapture); 
第一个参数是事件名称,例如‘click’,‘mouseover’等;
第二个参数是执行的方法
第三个函数是Boolean类型,表示该事件是冒泡还是捕获,默认是冒泡false

删除事件:element.removeEvebtListener(event,function);
IE8及以下 
绑定事件:element.attachEvent(event,function);
第一个参数是事件名称,例如‘onclick’,‘onmouseover’等;
第二个参数是执行的方法

删除事件:element.detachEvebt(event,function);

什么事冒泡和捕获呢?
element.addEventListener(event,function,useCapture);
有两个元素嵌套的时候,两个元素都加了事件,并且最后一个参数设置为false时,会先触发内部的事件,之后在触发外部事件,这种叫做冒泡,反之先触发外部事件在触发

内部事件。
代码例子:
html:
<div id="div1"  style="width: 200px;height: 100px;background-color: #009be3">

        <div id="div2" style="width: 150px;height: 80px;background-color: aqua">

        </div>

    </div>

JavaScript:

function a(event){

            alert("a")

        }

        function b(){

            alert("b")

        }

        var div1 = document.getElementById("div1");

        var div2 = document.getElementById("div2");

        if(div1.addEventListener){//判断浏览器是否支持该方法

               div1.addEventListener("click",a,true);// 运行结果 a b  

               div2.addEventListener("click",b);

        }else{

               div1.attachEvent("onclick",a);

               div2.attachEvent("onclick",b);

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: