js中的事件冒泡

2022-08-23 10:39:09 字數 2917 閱讀 5904

事件冒泡和阻止事件冒泡:

事件冒泡的原理:從實際操作的元素(事件)向上級父元素一級一級執行下去,直到達到document/window,冒泡過程結束。例如:假設我有乙個 div 盒子,裡面巢狀了1個子元素 p,我要給子元素 p 繫結了onclick事件,如果父元素也繫結了這個相同的事件,當觸發子元素(p標籤)事件的時候就會觸發這個事件並進行冒泡向上傳遞,也就是父元素 div 也會觸發這個事件,父元素的相同事件也會一級一級根據巢狀關係向外觸發,直到document/window,冒泡過程結束。下面我用具體的例項來說明一下下,為了大家更方便的看到這個效果,我在標籤上新增了一些樣式,下面是我的**:

我是box盒子

<

p id

="box1"

>我是 p 標籤

p>

div>

body

>

html

>

<

script

>

/*事件冒泡原理 向上傳遞

當後代元素被觸發後 其祖先元素也會會觸發相同事件

*/var

box

=document.getelementbyid(

'box');

varbox1

=document.getelementbyid(

'box1');

box1.onclick

=function

() box.onclick

=function

() script

>

在谷歌瀏覽器中開啟後的效果是這樣的

當滑鼠點選 p 標籤這個盒子的時候,它會觸發自己繫結的onclick事件,並且當這個事件結束之後又會觸發 div 標籤的點選事件,這時就發生了事件冒泡的現象。

如何阻止事件冒泡:只需要給冒泡元素函式物件新增乙個隱式引數 e 再呼叫 stoppropagation();這個方法即可阻止事件冒泡。下面是具體**:

我是box盒子

<

p id

="box1"

>我是 p 標籤

p>

div>

body

>

html

>

<

script

>

/*事件冒泡原理 向上傳遞

當後代元素被觸發後 其祖先元素也會會觸發相同事件

*/var

box

=document.getelementbyid(

'box');

varbox1

=document.getelementbyid(

'box1');

//阻止事件冒泡 必須要傳乙個隱式引數 e

box1.onclick

=function

(e)

box.onclick

=function

() script

>

JS的冒泡事件

在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件層次的最頂層,即do...

js事件冒泡

什麼是js事件冒泡?在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件...

js事件冒泡

2012 06 19 22 02 23 標籤 什麼是js事件冒泡?在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父...