jquery中阻止事件冒泡的方法

根據《jquery基礎教程》javascript

第一種方法:判斷事件的「直接」目標是不是自身,若是不是自身,不予處理css

$('div.outter').click(function(event) {
  if (event.target === this) {
    $('p').css('color', 'red');
  }
}); //該div事件handler忽略了冒泡,內部元素的點擊事件不會聯帶外部產生反作用

第二種方法:在直接目標中終止事件傳遞java

$('h3').click(function(event){
  console.log('Enter h3 click event handler');
  event.stopPropagation(); // 終止了事件的冒泡傳遞
});

第三種方法:因爲stopPropagation並不能阻止「默認行爲」,若是想要阻止默認行爲,那麼使用jquery

event.preventDefault(),所謂的默認行爲例如,點擊<a>會打開一個新的網頁連接,惦記submit會提交一個表單。默認行爲的觸發並不在普通的事件流當中。this

$('a').click(function(event){
  event.preventDefault();
  // do something
});
相關文章
相關標籤/搜索