首頁 >web前端 >js教程 >jquery中bind與on的差別是什麼

jquery中bind與on的差別是什麼

王林
王林原創
2020-11-26 13:46:353807瀏覽

jquery中bind與on的差異是:on綁定比bind綁定多了一個childSelector參數。 bind只能為符合條件的元素本身添加事件,on可以將子元素的事件委託給父元素進行處理。

jquery中bind與on的差別是什麼

環境:

本文適用於所有品牌的電腦。

(推薦教學:jquery影片教學

區別分析:

bind和on都是給元素綁定事件用的,其最大的差別就是事件冒泡。

事件冒泡也是委託事件的原型,事件委託就是子類別的事情委託給父類的去做。最直觀的差別就是on綁定比bind綁定多一個參數 'childSelector'。

語法:

$(selector).on(event,childSelector,data,function)

參數:

jquery中bind與on的差別是什麼

#
$(selector).bind(event,data,function,map)

參數:

jquery中bind與on的差別是什麼


################################################################################################################################################################### # bind只能為符合條件的元素本身添加事件,on可以將子元素的事件委託給父元素進行處理,而且可以給動態添加的元素加上綁定事件######也就是對於新添加的元素如果是on綁定,符合條件的新元素也會綁定事件,如果是bind則不影響新元素。 ######舉例:######
<ul>
    <li>第一个子元素<li/>
    <li>第二个子元素<li/>
    <li>第三个子元素<li/>
</ul>
###我們想為所有li新增click事件,可以用on:###
 $(&#39;ul&#39;).on(&#39;click&#39;,&#39;li&#39;, function () {   
        console.log($(this).text());
});
###也可以用bind:###
 $(&#39;ul li&#39;).bind(&#39;click&#39;, function () { 
        console.log($(this).text());
});
###區別:######第一用on綁定實際上是委託給了父級ul,也就是只給一個元素綁定了事件######第二個是用選擇器選擇了ul下的所有li元素依次綁定了事件######假如有很多很多子元素區別就很大了, bind會嚴重影響性能!######假如這時候新添一個li:## #
$(&#39;ul&#39;).append(&#39;<li>第四个子元素<li>&#39;);
###如果是on綁定則這個li也會有點擊事件;如果是bind則沒有。 ######相關推薦:###js教學######

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn