jquery 1.9.0直播功能?

时间:2013-01-29 23:05:50

标签: jquery

jquery 1.9.0 中没有live()功能,但 jquery.unobtrusive.ajax.js 已使用此功能。

我应该使用旧版本的jquery还是其他方式?

4 个答案:

答案 0 :(得分:12)

从1.7开始贬值并从1.9开始删除。请改用on()

http://api.jquery.com/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()仍然存在。

如果您正在引用MS CDN,

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版本。

答案 1 :(得分:7)

.live()已替换为.on()的事件委派语法:

$('#parent').on('click', '.child', function() {
  ...
});
当你调用选择器时,

#parent应该存在,所以如果你的元素是顶级的,那么使用document作为父级。

答案 2 :(得分:2)

jquery.migate在遗留函数中添加回来。这意味着jquery.unobtrusive.ajax.js按预期运行。

根据官方博客引用jquery.migrate库,并且还有一个nuget pacakge,但显然你需要更新你的模板/布局视图。

http://blog.jquery.com/2013/01/31/jquery-migrate-1-1-0-released/

http://nuget.org/packages/jQuery.Migrate/

Javascript控制台确实突出了问题......

JQMIGRATE:记录处于活动状态 JQMIGRATE:不推荐使用jQuery.fn.live() JQMIGRATE:jQuery.fn.addBack()取代jQuery.fn.andSelf() JQMIGRATE:不推荐使用jQuery.clean()

答案 3 :(得分:1)

live()在最新的jQuery版本中已被弃用,但微软将更新的不显眼的脚本作为覆盖默认版本的NuGet包进行了更新: