解决的问题

html的标签是嵌套的,当你点击如下div3的时候,理论上你应该也点击了div1,div2。 那是先点击了div1,还是先点击了div3呢?

<div id="div1">
    <div id="div2">
        <div id="div3"></div>
    </div>
</div>

原理解释

事件冒泡是自下而上的去触发事件。
即:div3->div2->div1
事件捕获是自上而下的去触发事件。
即:div1->div2->div3

如何阻止默认事件

在事件处理中调用preventDefault

document.getElementById("div1").addEventListener("click",function(e){
    e.preventDefault();
})

如何阻止冒泡

在事件处理中调用stopPropagation

document.getElementById("div1").addEventListener("click",function(e){
    e.stopPropagation();  
})
登陆后可发表回复评论点击登录