jQuery 1.9 对事件处理引入了重大更改,包括删除.live() 方法。本指南解释了这些更改,并提供了如何将代码从 .live() 迁移到新的 .on() 语法的示例。
由于性能和效率限制,jQuery 1.9 删除了 .live()。 .live() 将事件绑定到未来的 DOM 元素,即使它们尚不存在。这可能会导致不必要的事件侦听器和性能问题。
.live() 的建议替代品是 .on( )。但是,需要注意的是 .on() 具有不同的参数。
原始 .live() 语法:
.live(events, function)
新 .on( )语法:
.on(eventType, selector, function)
之前(使用 .live()):
$('#mainmenu a').live('click', function)
之后(使用.on()):
$('#mainmenu').on('click', 'a', function)
在此示例中,子元素 (a) 被移动到 .on() 选择器。
之前(使用.live()):
$('.myButton').live('click', function)
之后(使用 .on()):
$('#parentElement').on('click', '.myButton', function)
在此示例中,元素 .myButton移动到 .on() 选择器,并使用最近的父元素(最好带有 ID)。或者,您可以使用 $(document) 作为父元素。
有关更多信息,请参阅官方 jQuery 文档和迁移指南。
以上是如何将 jQuery 1.8 .live() 代码迁移到 jQuery 2.1 .on() 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!