jquery 1.9.0
中没有live()
函数,但jquery.unobtrusive.ajax.js
已经使用了这个函数。
我应该使用旧版本的jquery还是其他方法?
jquery 1.9.0
中没有live()
函数,但jquery.unobtrusive.ajax.js
已经使用了这个函数。
我应该使用旧版本的jquery还是其他方法?
自1.7版本起已被弃用,自1.9版本起已被移除。请改用on()
。
$("#myButton").on("click", function(){
alert("Clicked");
});
这里有很多好的信息:
http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html
关于Unobtrusive Ajax,您需要包含早于v1.9版本的jQuery版本,其中仍存在live()
。http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.js http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js
如果这些内容没有直接引用jQuery,那么只需在您的代码中包含1.8版本而不是1.9版本。
.live()
已被替换为.on()
的事件委托语法:
$('#parent').on('click', '.child', function() {
...
});
#parent
在调用选择器时应该存在,所以如果你的元素位于顶层,请使用document
作为父元素。
http://blog.jquery.com/2013/01/31/jquery-migrate-1-1-0-released/
http://nuget.org/packages/jQuery.Migrate/
JavaScript控制台突出显示了问题...live()
在最新的jQuery版本中已被弃用,但微软维护了更新的不侵入式脚本作为NuGet包,这些脚本将覆盖默认脚本:
.on()
不是.live()
的替代品。现在你所拥有的相当于.click()
。 - Blender