事件冒泡和阻止事件冒泡:
事件冒泡的原理:從實際操作的元素(事件)向上級父元素一級一級執行下去,直到達到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,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父...