事件委托和事件冒泡


一.事件冒泡

 

1.什么是事件冒泡

在一個對象上觸發某類事件(比如單擊onclick事件),如果此對象定義了此事件的處理程序,那么此事件就會調用這個處理程序,如果沒有定義此事件處理程序或者事件返回true,那么這個事件會向這個對象的父級對象傳播,從里到外,直至它被處理(父級對象所有同類事件都將被激活),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。


2.事件冒泡的作用


事件冒泡允許多個操作被集中處理(把事件處理器添加到一個父級元素上,避免把事件處理器添加到多個子級元素上),它還可以讓你在對象層的不同級別捕獲事件。(事件委托)


3.阻止事件冒泡


事件冒泡機制有時候是不需要的,需要阻止掉,通過 event.stopPropagation() 來阻止。


4.阻止默認行為 :event.preventDefault()

阻止冒泡事件 : event.stopPropagation()
上述兩個操作可以合並為:return false;

 

 

(一般動態添加的元素)

5.事件委托:

事件委托:就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執行相應的操作,事件委托首先可以極大減少事件綁定次數,提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。


事件委托的關系是將子元素的事件委托到父元素上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM