jQuery .live()
从1.9版本开始已被删除
这意味着,如果您从 1.8 及更早版本升级,如果不遵循下面的迁移指南,您会发现出现问题。你不能简单地替换.live()
with .on()
!
在开始搜索和替换之前请阅读:
For 快速/热修复在实时网站上,do not只需替换函数即可live
with on
,
as the 参数不同!
.live(events, function)
应映射到:
.on(eventType, selector, function)
(子)选择器非常重要!如果您出于任何原因不需要使用它,请将其设置为null
.
迁移示例1:
before:
$('#mainmenu a').live('click', function)
之后,您移动子元素(a
)到.on()
选择器:
$('#mainmenu').on('click', 'a', function)
迁移示例2:
before:
$('.myButton').live('click', function)
之后,您移动元素.myButton
to the .on()
选择器,并找到最近的父元素(最好带有 ID):
$('#parentElement').on('click', '.myButton', function)
如果您作为父母不知道该放什么,document
总是有效:
$(document).on('click', '.myButton', function)
也可以看看:
- jQuery - 如何使用“on()”方法而不是“live()”? https://stackoverflow.com/q/14703646/584192
- jQuery 1.9 迁移指南 http://jquery.com/upgrade-guide/1.9/