首頁 >web前端 >js教程 >為什麼升級到版本 2.1 後 jQuery 的 .live() 不起作用,如何修復它?

為什麼升級到版本 2.1 後 jQuery 的 .live() 不起作用,如何修復它?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-23 18:05:17658瀏覽

Why Doesn't jQuery's .live() Work After Upgrading to Version 2.1, and How Can I Fix It?

jQuery .live() 棄用

問題:

問題:

將jQuery 升級到版本2.1,.live() 功能已停止運作,導致「TypeError: $(...).live is not a function”錯誤。

原因:

.live() 方法在 jQuery 版本 1.9 中已棄用由於效能和架構問題,隨後在 2.1 版本中刪除了。

解決方案:遷移到.on()

要取代 .live() 的功能,jQuery 建議遷移到 .on() 方法。不過,要注意的是 .on() 的語法與 .live() 不同。

  1. 遷移指南:
  2. 取代live具有命名事件類型的事件: .live('click', function) 變成命名事件類型的事件:
  3. .live('click', function) 變成.on('click', 選擇器, function)。
  4. 將子選擇器移到 .on() 選擇器:
  5. .live('.myElement', function) 變成 .on('click', '.myElement',

確保目標元素位於委託父元素內:為子選擇器選擇合適的父元素,最好是有身分證。作為委託父級。 >

範例2:

Before: $('#mainmenu a').live('click', function)
After: $('#mainmenu').on('click', 'a', function)

其他資源:

Before: $('.myButton').live('click', function)
After: $('#parentElement').on('click', '.myButton', function) or $(document).on('click', '.myButton', function) if no suitable parent is known

jQuery

    jQuery - 如何使用「on( )”方法而不是“live()” ”?
  • jQuery 1.9 遷移指南

以上是為什麼升級到版本 2.1 後 jQuery 的 .live() 不起作用,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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