//JS事件流中有一种事件被称为“冒泡事件”,当一个元素被触发一个事件时,该目标元素上的事件会优先被执行,然后向外传播到每个祖先元素,恰如水里的一个泡泡似的,从产生就一直往上冒,到达水平面时,它才消失。在这个过程中,如果你只希望触发目标元素上的事件,而不想它传播到祖先元素上去,那么你需要在“泡泡”离开对象之前刺破它。
// 事件冒泡是一个从子节点向祖先节点冒泡的过程;
//事件捕获刚好相反,是从祖先节点到子节点的过程。
// 方法一: return false;消除事件冒泡
// 方法二: event.stopPropagation();
// 方法三: if(event.target == this){alert("do")}
// 方法四:
function maopao () {
var e = window.event || event;
if ( e.stopPropagation ){
//如果提供了事件对象,则这是一个非IE浏览器
e.stopPropagation();
}else{
//兼容IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
}