首頁 > web前端 > 前端問答 > jquery事件委託方法有哪些

jquery事件委託方法有哪些

青灯夜游
發布: 2022-03-10 17:01:21
原創
5430 人瀏覽過

jquery事件委託方法有:1、blind()方法,主要用於給選擇到的元素進行事件綁定;2、live()方法,為目前或未來的匹配元素添加一個或多個事件處理器;3、delegate()方法;4、on()方法,用於將監聽事件綁定到就近父級元素。

jquery事件委託方法有哪些

本教學操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。

什麼是事件委託?

子元素的事件委託給父元素,而不是分給子元素自己去綁定事件,然後觸發事件的時候找到對應的event.target 

是指利用事件冒泡,只指定一個事件處理程序,來管理某一類型的所有事件

為什麼要用事件委託?

因為在js中加入到頁面的事件處理程序數量會影響到頁面的整體運行性能

其次對列表逐個添加事件處理程序太過於麻煩,所以,事件委託大大提高了頁面運行的效能

透過for循環給ul底下的li遍歷綁定事件,看似沒有問題但實際上非常影響頁面的運行性能

此時,就用到冒泡模式的事件委託來解決

然而,有會想到綁定給ul的事件,實現後豈不是每個li都會受影響嗎?

    出此案了新概念:事件來源:不管事件綁定在那元素中,都指的是實際觸發事件的內個目標

    event.target

    eg:ul.onclick=function(event){}

簡單點是  減少DOM訪問,減少內存,提高頁面的運行性能

jquery事件委託方法有哪些

1、blind

#定義和用法:主要用於給選擇到的元素進行事件綁定

語法:

blind("事件类型",data,function(){ });
//data是传入函数的参数用event.data获取(平时用的.click()等都是其简化用法)
登入後複製

特點;適用於靜態頁面,只能給呼叫它時已存在的元素綁定,不能給未來新增的元素綁定

    當頁面載入完時,才進行blind;

2、live(1.7以後不支援)

定義:在目前或未來的符合元素中新增一個或多個事件處理器;

語法:

live("事件类型",data, 函数名);//data可选
登入後複製

特點:live並沒有將事件綁定到自身(this)上,而是綁定到this.context上

    正是利用了事件委託機製完成事件的監聽處理,把節點的處理委託給document

    新加入的元素不必再綁定一次監聽器,可多事件處理

    只能放在直接選擇的元素的後面

3、delegate

定義:將監聽事件綁定到就近父級元素,因為事件可以更快的冒泡上去

語法:

delegate(selector,type,[data],fn)
登入後複製

特點:更精確的小範圍使用事件代理,效能優於.live()。可以用在動態新增的元素上。

("父级选择器").delegate(".a","click",function())//表示:.a的事件通过父级元素进行委托,(this)获取的是触发事件的子元素
登入後複製

4、on

定義;將監聽事件綁定到就近父級元素

語法:

on(type, 选择器,方法)
登入後複製

特點:給父元素底下新加入的標籤也可以用監聽事件

也支援多時事件處理

#【推薦學習:jQuery影片教學web前端影片

以上是jquery事件委託方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板