我已经从jQuery 1.7.1更新到1.10.2,现在下面的问题出现在jquery.unobtrusive-ajax.js中:
$("a[data-ajax=true]").live("click", function (evt) {
evt.preventDefault();
asyncRequest(this, {
url: this.href,
type: "GET",
data: []
});
});
问题在于现场。它说$("a[data-ajax=true]")
不接受方法或属性live
。
如何解决这个问题?我应该升级jquer.unobtrusive-ajax.js还是这样的?
答案 0 :(得分:7)
请阅读文档,live
已删除,并替换为.on()
$(document).on("click", "a[data-ajax=true]", function (evt) {
document
是容纳动态内容的容器。
答案 1 :(得分:3)
答案 2 :(得分:3)
了解jQuery Migrate插件也很好。它来自jQuery本身,可直接从他们的GitHub获得。
该插件的目的是“简化从旧版jQuery的过渡。该插件恢复不推荐使用的功能和行为,以便旧代码仍可在jQuery 1.9及更高版本上正常运行。使用未压缩的开发版本为了诊断兼容性问题,它将在控制台上生成警告,您可以使用它来识别和修复问题。“
答案 3 :(得分:1)
使用.on()
$(document).on("click", "a[data-ajax=true]", function (evt) {
请参阅版本1.7中的.live()已deprecated,并在1.9中删除。
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()来 附加事件处理程序。旧版jQuery的用户应该使用 .delegate()优先于.live()。