小編給大家分享一下jquery中bind與on有什么區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供連山網(wǎng)站建設、連山做網(wǎng)站、連山網(wǎng)站設計、連山網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、連山企業(yè)網(wǎng)站模板建站服務,十年連山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
jquery中bind與on的區(qū)別是:on綁定比bind綁定多了一個childSelector參數(shù)。bind只能給符合條件的元素本身添加事件,on可以將子元素的事件委托給父元素進行處理。
區(qū)別分析:
bind和on都是給元素綁定事件用的,其最大的區(qū)別就是事件冒泡。
事件冒泡也是委托事件的原型,事件委托就是子類的事情委托給父類的去做。最直觀的區(qū)別就是on綁定比bind綁定多一個參數(shù) 'childSelector'。
語法:
$(selector).on(event,childSelector,data,function)
參數(shù):
$(selector).bind(event,data,function,map)
參數(shù):
bind只能給符合條件的元素本身添加事件,on可以將子元素的事件委托給父元素進行處理,而且可以給動態(tài)添加的元素加上綁定事件
也就是對于新添加的元素如果是on綁定,符合條件的新元素也會綁定事件,如果是bind則不影響新元素。
舉例:
<ul> <li>第一個子元素<li/> <li>第二個子元素<li/> <li>第三個子元素<li/> </ul>
我們想給所有l(wèi)i添加click事件,可以用on:
$('ul').on('click','li', function () { console.log($(this).text()); });
也可以用bind:
$('ul li').bind('click', function () { console.log($(this).text()); });
區(qū)別:
第一用on綁定實際上是委托給了父級ul,也就是只給 一個元素綁定了事件
第二個是用選擇器選擇了ul下的所有l(wèi)i元素 依次綁定了事件
假如有很多很多子元素區(qū)別就很大了, bind會嚴重影響性能!
假如這時候新添一個li:
$('ul').append('<li>第四個子元素<li>');
如果是on綁定則這個li也會有點擊事件;如果是bind則沒有。
以上是“jquery中bind與on有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:jquery中bind與on有什么區(qū)別
網(wǎng)站路徑:http://aaarwkj.com/article32/iggpsc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標簽優(yōu)化、虛擬主機、云服務器、響應式網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)