Jquery的普通事件和on的委託事件

2022-05-13 05:56:29 字數 736 閱讀 1100

以click的事件為例:

普通的繫結事件:$('.btn').click(function(){})繫結

on繫結事件:$(documnet).on('click','btn2',function(){})

那麼兩種方式的區別到底是什麼呢?

我們以乙個例子來說下區別

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

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

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

on()事件相當於是$(document).click(function()}),給document新增了乙個click事件,黨點選的是btn,事件冒泡原理,從裡到外,就相當於點選了document,那麼就會執行後面的操作,本質上只給document新增了乙個事件,而click()事件是給所有btn新增了click事件。

另外on()事件可以新增多個事件。

on()委託事件的優點:原來的事件繫結,要繫結好多事件,現在只需要繫結乙個事件,大大提高了效率和頁面效能,解決的動態新增元素導致不能觸發的bug。

**

Jquery的普通事件和on的委託事件

以click的事件為例 普通的繫結事件 btn click function 繫結 on繫結事件 documnet on click btn2 function 那麼兩種方式的區別到底是什麼呢?我們以乙個例子來說下區別 click事件是在頁面載入後,獲取的所有類名為btn1的元素,然後繫結了這個cl...

Jquery的普通事件和on的委託事件小案例

以click的事件為例 普通的繫結事件 btn click function 繫結 on繫結事件 document on click btn2 function 那麼兩種方式的區別到底是什麼呢?我們以乙個例子來說下區別 click事件是在頁面載入後,獲取的所有類名為btn1的元素,然後繫結了這個cl...

事件繫結和普通事件的區別

普通新增事件的方法 var btn document.getelementbyid hello btn.onclick function btn.onclick function 執行上面的 只會alert 2 事件繫結方式新增事件 var btn document.getelementbyid h...