轉自:http://blog.163.com/css_mm/blog/static/209182176201262665157634/
1、通過返回false來取消默認的行爲並阻止事件起泡。
jQuery 代碼:
$("form").bind(
"submit",
function() {
return false;
}
);
2、通過使用 preventDefault() 方法只取消默認的行爲。
jQuery 代碼:
$("form").bind(
"submit",
function(event){
event.preventDefault();
}
);
3、通過使用 stopPropagation() 方法只阻止一個事件起泡。
jQuery 代碼:
$("form").bind(
"submit",
function(event){
event.stopPropagation();
}
);
(4)總結
1.一個事件起泡對應觸發的是上層的同一事件
特殊:如果two設置成雙擊事件,那麼在你單擊two的時候就會起泡觸發one單擊的事件
(雙擊包含單擊)。
2.如果在click事件中,在你要處理的事件之前加上e.preventDefault();
那麼就取消了行爲(通俗理解:相當於做了個return操作),不執行之後的語句了。
3.e.stopPropagation()只要在click事件中,就不會觸發上層click事件。
//如果提供了事件對象,則這是一個非IE瀏覽器 if ( e && e.stopPropagation ) // 因此它支持W3C的stopPropagation()方法 e.stopPropagation(); else //否則,我們需要使用IE的方式來取消事件冒泡 window.event.cancelBubble = true; return false;