对象没有方法'生活' – jQuery
<script> $(document).ready(function(){ $('.delete').live('click', function(e){ alert('delete'); e.preventDefault(); }); }); </script> <a href='#' id='_1' class='delete'>Delete</a>
给我一个错误:
Uncaught TypeError:Object [object Object] has no method'live'
我只是没有看到问题?
.live()
是一个不赞成使用的函数(从1.7+开始),完全从jQuery 1.9+中移除。
您可以改为使用.on()
或.bind()
方法:
-
如果对
.live()
的调用位于您自己的代码中,只需使用http://api.jquery.com/live上显示的规则将其更改为;.on()
。 -
如果代码位于第三方jQuery插件中,请使用jQuery Migrate插件恢复
.live()
直到作者更新其插件: https : //github.com/jquery/jquery-migrate#readme 。 -
在生产站点中,请勿使用引用“最新”版本的jQuery的URL,例如http://code.jquery.com/jquery-latest.js或http://ajax.googleapis.com/ajax/libs/jquery /1/jquery.min.js,因为当新版本的jQuery发布时,它们会自动更新,如果不兼容,你的网站会突然中断。
如果你正在使用on(...)
而不是live(...)
使用jQuery 1.7+。
检查这个: http : //api.jquery.com/on/
有一种情况下,.on()和.bind()都不会工作:当添加事件处理程序时,元素不存在。 这就是现场()所做的。
请参阅http://api.jquery.com/live/
旧
$("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+ $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+
新
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+
使用.on
<script> $(document).ready(function(){ $('.delete').on('click', function(e){ alert('delete'); e.preventDefault(); }); }); </script>
有一个jQuery的迁移插件(使用)…….它将解决这个问题
ASP.NET MVC ajax-unobtrusive + jQuery 1.9 http://bugs.jquery.com/ticket/13220