您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了jquery綁定事件bind和on的用法及其區(qū)別,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
bind和on都是給元素綁定事件用的,其最大的區(qū)別就是事件冒泡
事件冒泡也是委托事件的原型,事件委托就是子類的事情委托給父類的去做
最直觀的區(qū)別就是on綁定比bind綁定多一個參數(shù)'childSelector'
$(selector).on(event,childSelector,data,function)
參數(shù) | 描述 |
---|---|
event | 必需。規(guī)定要從被選元素移除的一個或多個事件或命名空間。 由空格分隔多個事件值,也可以是數(shù)組。必須是有效的事件。 |
childSelector | 可選。規(guī)定只能添加到指定的子元素上的事件處理程序(且不是選擇器本身,比如已廢棄的 delegate() 方法)。 |
data | 可選。規(guī)定傳遞到函數(shù)的額外數(shù)據。 |
function | 可選。規(guī)定當事件發(fā)生時運行的函數(shù)。 |
$(selector).bind(event,data,function,map)
參數(shù) | 描述 |
---|---|
event | 必需。規(guī)定添加到元素的一個或多個事件。 由空格分隔多個事件值。必須是有效的事件。 |
data | 可選。規(guī)定傳遞到函數(shù)的額外數(shù)據。 |
function | 必需。規(guī)定當事件發(fā)生時運行的函數(shù)。 |
map | 規(guī)定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一個或多個事件,以及當事件發(fā)生時運行的函數(shù)。 |
也就是對于新添加的元素如果是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>');
以上就是關于jquery綁定事件bind和on的用法及其區(qū)別的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。