欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery綁定事件 bind和on的用法與區(qū)別分析

 更新時間:2020年05月22日 11:03:37   作者:NO0b  
這篇文章主要介紹了jquery綁定事件 bind和on的用法與區(qū)別,結合實例形式分析了jquery綁定事件 bind和on的基本功能、用法、區(qū)別與操作注意事項,需要的朋友可以參考下

本文實例講述了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ù)據(jù)。
function 可選。規(guī)定當事件發(fā)生時運行的函數(shù)。

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

參數(shù) 描述
event 必需。規(guī)定添加到元素的一個或多個事件。

由空格分隔多個事件值。必須是有效的事件。
data 可選。規(guī)定傳遞到函數(shù)的額外數(shù)據(jù)。
function 必需。規(guī)定當事件發(fā)生時運行的函數(shù)。
map 規(guī)定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一個或多個事件,以及當事件發(fā)生時運行的函數(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則沒有

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery頁面元素操作技巧匯總》、《jQuery常見事件用法與技巧總結》、《jQuery常用插件及用法總結》、《jQuery擴展技巧總結》及《jquery選擇器用法總結

希望本文所述對大家jQuery程序設計有所幫助。

相關文章

最新評論