jquery TypeError: $(...).live is not a functio,动态添加class的点击事件处理
jq版本更新后无live函数的处理.TypeError: $(...).live is not a function
jquery live函数语法jquery版本更新, 发现一个问题: jq自带的live没有了.
控制台下会有如下的提示:
火狐: TypeError: $(...).live is not a function
控制台下会有如下的提示:
火狐: TypeError: $(...).live is not a function
chrome: Uncaught TypeError: Object [object Object] has no method 'live'
网上的一个说法:
jQuery 1.9 较之前的版本做了很大的调整,很多函数都不被支持。
例如 live(),die(),toggle(),sub(),$.browser 等等都已经被移除,完整的更新内容见 http://jquery.com/upgrade-guide/1.9/ (英文)。
在不改变你网站代码的同时,要使用 1.9 之后的版本,你需要使用 jQuery Migrate(转移、过度),详见 http://blog.jquery.com/2013/01/31/jquery-migrate-1-1-0-released/ (英文)。
Migrate 应该只是暂时性的。为了和 jQuery 保持同步,建议你从现在开始根据 1.9 的改变重写你网站的所有代码。
所以之前你的代码如果是
$("#ele").live("click", function() {
//...
});
现在要写成
$("#ele").on("click", function() {
//...
});
动态生成的元素要使用 live,要写成
$(document).on("click", "#ele", function() {
//...
});