对象没有'live'方法 - jQuery

reg*_*gie 44 javascript jquery live

<script>
$(document).ready(function(){
    $('.delete').live('click', function(e){
        alert('delete');
        e.preventDefault();
    });
});
</script>
<a href='#' id='_1' class='delete'>Delete</a>
Run Code Online (Sandbox Code Playgroud)

给我一个错误:

未捕获的TypeError:对象[object Object]没有方法'live'

我只是没有看到问题?

dig*_*rld 122

.live() 是一个已弃用的函数(从1.7+开始)并完全从jQuery 1.9+中删除.

您可以使用.on().bind()方法:

http://api.jquery.com/on/
http://api.jquery.com/bind/

  • 不只是弃用,但从jQuery 1.9开始删除 (4认同)
  • 但是在/ bind上没有live的功能,之后添加的其他元素不会触发那些事件.live很有用. (2认同)
  • 可以在此处找到删除它的原因:http://api.jquery.com/live/ (2认同)

Dav*_*vin 13

  1. 如果调用.live()是在您自己的代码中,只需将其更改为.on()使用http://api.jquery.com/live上显示的规则.

  2. 如果代码在第三方jQuery插件中,请使用jQuery Migrate插件进行恢复,.live()直到作者更新其插件:https://github.com/jquery/jquery-migrate#readme.

  3. 在生产站点中,不要使用引用jQuery的"最新"版本的URL,例如http://code.jquery.com/jquery-latest.jshttp://ajax.googleapis.com/ajax/libs/jquery /1/jquery.min.js因为它们将在发布新版本的jQuery时自动更新,如果它不兼容,您的站点将突然中断.