阻止事件冒泡

2022-04-03 10:58:04 字數 1093 閱讀 6520

點選我

1.event.stoppropagation();

事件處理過程中,阻止了事件冒泡,但不會阻止預設行為(它就執行了超連結的跳轉)

2.return false;

事件處理過程中,阻止了事件冒泡,也阻止了預設行為(比如剛才它就沒有執行超連結的跳轉)

還有一種有冒泡有關的:

3.event.preventdefault();

如果把它放在頭部a標籤的click事件中,點選「點選我」。

4.this和event.target的區別:

js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標dom元素;

this和event.target的相同點:

this和event.target都是dom物件,如果要使用jquey中的方法可以將他們轉換為jquery物件:$(this)和$(e.target);

e.target與e.currenttarget的區別的關鍵在於他們所處在的事件流的階段是不一樣的,target處於事件流的目標階段,currenttarget處理事件流的捕獲、處於目標階段和冒泡階段。只有當他們同時處於目標階段的時候他們的指向才是一樣的。在事件處理程式內部,物件this始終等於currenttarget的值,而target則只包含事件的實際目標。如果直接將事件處理程式指定給了目標元素,則this、currenttarget和target包含相同的值

參考部落格:

5.js事件處理的相容性函式:

var eventutil = else if (element.attachevent) else

},removehandler: function(element, type, handler) else if (element.detachevent) else

},getevent: function(event),

gettarget: function(event),

preventdefault: function(event) else

},stoppropagation: function(event) else

};

阻止事件冒泡

事件冒泡的概念在此不再重複,下面主要介紹防止事件冒泡的方法 符合w3c標準的event.stoppropagation 和ie瀏覽器下的window.event.cancelbubble true 上述 注釋中標註了阻止事件冒泡的方法,下面是針對兩種方法的封裝 function stopbubble...

阻止事件冒泡

js div li click function e div ul click function e div click function e 說明 1.事件冒泡就是觸發孩子事件時,如果他的父親也有個事件,那麼他執行孩子事件後還會執行父親的事件。2,在孩子節點執行完,return false 這樣就...

阻止事件冒泡

因為我的 ui checkbox new 是頁面新新增的元素,所以在繫結事件的時候,就用on。在在用on繫結事件的時候,這個click事件會觸發兩次。用alert函式測試的時候,1 11 1 11 在網上尋找解決方法 在 中加入return false 阻止冒泡事件後,程式就可以正常執行,不會執行兩...