jQuery中delegate與on的用法與區別

時間:2024-09-11 16:04:21 jQuery 我要投稿
  • 相關推薦

jQuery中delegate與on的用法與區別

  在jQuery1.7中 .delegate()已被.on()取代。對于早期版本,它仍然使用事件委托的最有效手段。

  在事件綁定和委派,delegate()和on在一般情況下,這兩種方法是等效的。

  .delegate() 指定的元素(屬于被選元素的子元素)添加一個或多個事件處理程序,并規定當這些事件發生時運行的函數。

  復制代碼 代碼如下:

  // jQuery 1.4.3+

  $( elements ).delegate( selector, events, data, handler );

  // jQuery 1.7+

  $( elements ).on( events, [selector], data, handler );

  例如:.delegate() code:

  復制代碼 代碼如下:

  $("table").delegate("td","click",function(){

  alert("hello");

  });

  .on() code:

  復制代碼 代碼如下:

  $("table").on("click", "td", function() {

  alert("hi");

  });

  PS: 兩者區別是seleter和events順序不同

  delegate和on方法被選元素的子元素必須是"合法的"子元素。比如

  復制代碼 代碼如下:

  $("table").delegate("button","click",function(){...});

  $("table").on("click", "p", function(){...});

  就不起作用,因為正常情況下,table子元素應為tr,td...

  on(events,[selector],[data],fn),參數[selector]是可選,

  一個選擇器字符串用于過濾器的觸發事件的選擇器元素的后代。

  例如:

  復制代碼 代碼如下:

  $("table").on("click", ".td1", function() {

  alert("hi");

  });

  過濾class為td1的table子元素

  而delegate的selector是必需的。

【jQuery中delegate與on的用法與區別】相關文章:

jQuery中prev()方法用法07-16

jQuery中replaceAll()方法用法10-15

PHP中MySQL、MySQLi和PDO的用法和區別07-01

as,when,while的用法區別詳解10-24

俄語詞выйти和сойти的用法與區別10-24

辨析替代詞用法的區別09-20

jQuery中parent()和siblings()的問題10-16

詞語辨析:cost, spend, take的用法區別01-14

Javascript中typeof 用法歸納09-27

粵語中“好”字的用法10-25

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
亚洲欧美日韩中文国产不卡 | 亚洲色欧影院在线观看 | 伊人色综合久久天天人守人婷 | 亚洲精品AⅤ在线观看 | 亚洲一级视频在线播放 | 伊人久久综合热线大杳焦 |