什么是冒泡事件?
子元素被包裹在父元素下,當同時給子元素綁定事件父元素綁定事件時,如果點擊子元素,父元素上的事件也會被出發,順序是子元素→父元素。
為什么要解決冒泡事件?
當子元素和父元素同時綁定點擊事件時,在點擊子元素時,不希望父元素的事件也被觸發。
如何解決冒泡事件?
1.event.stopPropagation();
$(function() {
$(".three").click(function(event) {
event.stopPropagation();
});
});
定義和用法
不再派發事件。
終止事件在傳播過程的捕獲、目標處理或起泡階段進一步傳播。調用該方法后,該節點上處理該事件的處理程序將被調用,事件不再被分派到其他節點。
2.return false;
$(function() { $("#three").click(function(event) { return false; }); });
3.event.preventDefault();
$(function() { $(".three").click(function(event) { event.preventDefault(); }); });
定義和用法
取消事件的默認動作。該方法將通知 Web 瀏覽器不要執行與事件關聯的默認動作(如果存在這樣的動作)。例如,如果 type 屬性是 "submit",在事件傳播的任意階段可以調用任意的事件句柄,通過調用該方法,可以阻止提交表單。注意,如果 Event 對象的 cancelable 屬性是 fasle,那么就沒有默認動作,或者不能阻止默認動作。無論哪種情況,調用該方法都沒有作用。