事件冒泡 :当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window 。(注意这里传递的仅仅是事件 并不传递所绑定的事件函数。所以如果父级没有绑定事件函数,就算传递了事件 也不会有什么表现 但事件确实传递了。)
事件冒泡解决:
- 子级 使用 event.cancelBubble=true;
<div id="one" onclick="change_one()" >
<div id="two" onclick="change_one();event.cancelBubble=true;"></div>
</div>
2.jq 处理
$("#two").click(function(event){
event.stopPropagation();
//或者是:
// return false;
});
注:这两种方式是有区别的。return false; 不仅阻止了事件往上冒泡,而且阻止了事件本身。event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。