事件冒泡,事件捕获和事件冒泡

2018-09-25  本文已影响0人  李昂李三光

DOM0级事件是不支持捕获阶段的,DOM2级事件才支持。然而,DOM二级事件分为W3C和IE两种事件模型

baba.addEvenlistener("click",function(){},true)表示点击事件在捕获阶段触发

son.addEventListener("click",function(e){
//              阻止事件冒泡
                console.log(e);
                e.stopPropagation();
                alert("我是son");
                
            },true)
            var t=0;
            btnReport.addEventListener("click",function(e){
//              阻止默认事件  
                e.preventDefault();
//              向后台发送请求,记录用户点击
                console.log(t++);
                location.href="//www.baidu.com";//只写两个斜杠能够让页面自行选择协议
            })

使用事件委托,就是在父类编写子类需要执行的代码,在子类上触发事件时,由于事件冒泡,执行了子类的代码后会执行父类的代码,所以就可以利用父类进行子类的代码实现

//          使用事件委托
            baba.addEventListener("click",function(e){
//              console.log("当前点击的元素是",e.target.className);
                if(e.target.className=="son"&&e.target.nodeName=="DIV"){
                    alert("我是儿子");
                }
            })

使用e.target就可以获取到事件触发的具体节点

上一篇 下一篇

猜你喜欢

热点阅读