jQuery事件中on實現繫結多個事件
相信大家都知道在jQuery1.9
版本中,已經去掉了live
和delegate
方法,從而將on
方法的地位進一步提升。
jQuery
如此推崇on
方法,必有其獨到的地方。所以我們就有必要了解這個on
,並在程式碼中利用它,從而優化程式碼和提高效能。那麼接下來我們就來看看on
的使用方法
一、使用on
進行普通事件繫結
1.1 使用on
繫結一個事件
語法結構: jq物件.on(“事件型別”,”事件處理函式”)
1.2 使用on
繫結多個事件對應同一個事件處理
函式語法結構:jq物件.on(“事件型別1 事件型別2”,”事件處理函式”)
1.3 使用on
繫結多個事件對應不同的事件處理函式
語法結構:
jq物件.on({
事件型別1 : 事件處理函式1,
事件型別2 : 事件處理函式2,
事件型別3 : 事件處理函式3
});
注意: 使用jQuery
中on
進行普通繫結事件的時候,會出現一些小小問題,就是不能給動態新增的元素繫結事件,
這時候就要用到on
的事件委派(事件委託),接下來我們繼續看看on
對於事件委託的處理
二、 使用on
進行事件委派
2.1 標準瀏覽器中都有事件冒泡(bubble
)或捕獲(propagate
)機制
如圖:
當目標元素被觸發時,先從它祖先元素一層一層將事件傳達給目標函式,如上圖中P
的父元素 div
依次傳遞給target
,此為事件捕獲;
–當目標函式被觸發後,又將事件一層一層傳遞到根節點,即老祖宗,此為事件冒泡。所有瀏覽器都有事件冒泡機制。所以,我們可以利用這一特性,優化程式碼,減少事件繫結。
on
方法也利用了這一特性。當‘selector
’被提供時,就是事件委託,事件觸發時,直接繫結在on
方法上的元素是不會觸發該事件,而它指定的後代元素‘selector
’就會利用冒泡機制,到直接繫結在on
方法上的元素,給予處理。
2.2 語法結構:jq物件.on(“事件型別”,“指定的後代元素”,事件處理函式);
總結: 如果是普通繫結事件你就可以使用on
的普通事件繫結,如果是對於動態新增的元素的事件繫結就使用on
的事件委派。
相關文章
- jQuery實現DOM元素事件動態繫結jQuery事件
- jQuery之_事件繫結與解綁jQuery事件
- 1.22 JQuery5:繫結自定義事件jQuery事件
- 事件繫結事件
- jQuery原始碼剖析(五) - 事件繫結原理剖析jQuery原始碼事件
- vue系列--vue是如何實現繫結事件Vue事件
- JavaScript 事件繫結JavaScript事件
- JSX繫結事件JS事件
- js on繫結事件JS事件
- Hooks與事件繫結Hook事件
- JS-事件繫結JS事件
- Vue事件繫結原理Vue事件
- 繫結自定義事件事件
- v-on 繫結事件事件
- JS學習之事件和事件繫結JS事件
- JS的事件繫結和事件流模型JS事件模型
- zepto繫結事件改變冒泡事件流事件
- JS給全域性繫結事件以及給除某個元素外的其他元素繫結事件JS事件
- Vue事件獲取觸發事件物件和繫結事件物件Vue事件物件
- python tkinter如何繫結事件?Python事件
- React事件繫結的方式React事件
- React事件優雅繫結React事件
- 元件繫結原生事件元件事件
- IOS繫結touchend事件失效iOS事件
- JQuery實現下拉框Select的獲取值與文字、動態繫結資料、事件等操作jQuery事件
- jQuery 事件jQuery事件
- jquery事件jQuery事件
- 080 元件自定義事件-繫結元件事件
- 微信小程式事件繫結微信小程式事件
- Swoole 使用on()繫結事件報錯事件
- jQuery知識總結之事件jQuery事件
- React中this值繫結和事件函式傳參React事件函式
- jQuery 事件方法jQuery事件
- echarts 繫結事件處理函式Echarts事件函式
- 用js寫一個繫結事件檢測視窗大小JS事件
- three.js事件繫結外掛--onEventJS事件
- React事件繫結幾種方法測試React事件
- Vue 如何給元件繫結原生事件Vue元件事件