jquery on和bind的差別是什麼

coldplay.xixi
發布: 2020-11-30 15:06:57
原創
2797 人瀏覽過

jquery on和bind的區別:1、bind方法在每個子元素中加入一個事件,會影響到效能,而on方法不會;2、bind動態加入元素時,不能動態綁定事件,而on方法可以。

jquery on和bind的差別是什麼

本教學操作環境:windows7系統、jquery1.10.2版,此方法適用於所有品牌電腦。

jquery on和bind的差異:

on()方法查看原始碼可發現bind()delegate()底層都是用on()方法實作;

函數簽章: bind(type, [data], fn) ,on(type,[selector],[data],fn) .

舉栗子:

     
  

第一个p元素

第二个p元素

第三个p元素

第四个p元素

第五个p元素

登入後複製

用法:

$('div p').bind('click',function(){ alert($(this).text()); }) $("div").on("click","p",function(){ alert($(this).text()); })
登入後複製

優缺點比較:

bind()方法:

缺點:

1.萬一子元素非常多,給每個子元素都添加一個事件,會影響到性能;

2.動態添加元素時,不能動態綁定事件

優點:為單一元素綁定事件時書寫方便.(忽略)

#on()方法:

1 .解決上面兩個缺點.

2.採用事件委託機制,不是直接為p元素綁定事件,而是為其父元素(或祖先元素也可)綁定事件,當在div內任意元素上點選時,事件會一層層從event target向上冒泡,直至到達你為其綁定事件的元素,就會執行事件.

3.調用的時候也可能出現問題。如果事件目標在DOM樹中很深的位置,這樣一層層冒泡上來查找與選擇器匹配的元素,又會影響到性能.

總結:

#1.選擇器符合到的元素比較多時,不要用bind()迭代綁定

2.用id選擇器時,可以用bind()

3.需要給動態加入的元素綁定時,用delegate()或on()

4.用delegate()和on()方法,dom樹不要太深

5.盡量使用on()

相關免費學習推薦:javascript(影片)

以上是jquery on和bind的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!