jQuery里面的普通綁定事件和on委托事件


以click事件為例:

普通綁定事件:$('.btn1').click(function(){}綁定

on綁定事件:$(document).on('click','.btn2',function(){}綁定

那么這兩種方式有什么區別呢?

首先我們看看在實踐上的區別:

 

①click事件是在頁面加載后,獲取的所有類名為btn1的元素,然后綁定了這個click事件,你要是通過其他操作再生成一個btn1元素,它就沒有click這個事件;

②而on()事件起到了監聽的效果,可以實現動態html元素綁定,比如一開始只有一個btn2元素,你通過某種方法又加了一個btn2元素,這個元素也可以點擊,可以無限添加btn2。

那么怎么實現這個動態監聽的過程呢?

on()事件相當於是$(document).click(function(){if(點擊的是btn){}}),給document添加了一個click事件,黨點擊的是btn,事件冒泡原理,從里到外,就相當於點擊了document,那么就會執行后面的操作,本質上只給document添加了一個事件,而click()事件是給所有btn添加了click事件。

另外on()事件可以添加多個事件。

on()委托事件的優點:原來的事件綁定,要綁定好多事件,現在只需要綁定一個事件,大大提高了效率和頁面性能,解決的動態添加元素導致不能觸發的bug。

Jq1.7+開始支持。


免責聲明!

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



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