首页 > web前端 > js教程 > 如何将 jQuery 1.8 .live() 代码迁移到 jQuery 2.1 .on() 方法?

如何将 jQuery 1.8 .live() 代码迁移到 jQuery 2.1 .on() 方法?

Linda Hamilton
发布: 2024-12-08 19:26:11
原创
741 人浏览过

How Do I Migrate My jQuery 1.8 .live() Code to the jQuery 2.1 .on() Method?

从 jQuery 1.8 .live() 迁移到 2.1

jQuery 1.9 对事件处理引入了重大更改,包括删除.live() 方法。本指南解释了这些更改,并提供了如何将代码从 .live() 迁移到新的 .on() 语法的示例。

了解 .live() 删除

由于性能和效率限制,jQuery 1.9 删除了 .live()。 .live() 将事件绑定到未来的 DOM 元素,即使它们尚不存在。这可能会导致不必要的事件侦听器和性能问题。

迁移到 .on()

.live() 的建议替代品是 .on( )。但是,需要注意的是 .on() 具有不同的参数。

原始 .live() 语法:

.live(events, function)
登录后复制

新 .on( )语法:

.on(eventType, selector, function)
登录后复制

迁移示例 1:绑定到子元素

之前(使用 .live()):

$('#mainmenu a').live('click', function)
登录后复制

之后(使用.on()):

$('#mainmenu').on('click', 'a', function)
登录后复制

在此示例中,子元素 (a) 被移动到 .on() 选择器。

迁移示例2:绑定到父元素

之前(使用.live()):

$('.myButton').live('click', function)
登录后复制

之后(使用 .on()):

$('#parentElement').on('click', '.myButton', function)
登录后复制

在此示例中,元素 .myButton移动到 .on() 选择器,并使用最近的父元素(最好带有 ID)。或者,您可以使用 $(document) 作为父元素。

其他迁移提示

  • 不要简单地将 .live() 替换为 .live() 。 on() 而不考虑参数变化。
  • 确保在 .on() 中指定了(子)选择器如果需要,
  • 如果不需要,请将选择器设置为 null。

有关更多信息,请参阅官方 jQuery 文档和迁移指南。

以上是如何将 jQuery 1.8 .live() 代码迁移到 jQuery 2.1 .on() 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板