Object has no method 'live' - jQuery

后端 未结 7 2170
小鲜肉
小鲜肉 2020-12-10 00:24


        
相关标签:
7条回答
  • 2020-12-10 00:56
    1. If the call to .live() is inside your own code, just change it to .on() using the rules shown at http://api.jquery.com/live.

    2. If the code is in a third-party jQuery plugin, use the jQuery Migrate plugin to restore .live() until the author updates their plugin: https://github.com/jquery/jquery-migrate#readme.

    3. In production sites, do not use URLs that reference the "latest" version of jQuery such as http://code.jquery.com/jquery-latest.js or http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js since they will automatically update when a new version of jQuery is released and your site will suddenly break if it is not compatible.

    0 讨论(0)
  • 2020-12-10 01:06

    If you are using jQuery 1.7+ use on(...) instead of live(...).
    Check this: http://api.jquery.com/on/

    0 讨论(0)
  • 2020-12-10 01:06

    There is a jQuery migrate plugin (use that) ....... it will resolve the issue

    ASP.NET MVC ajax-unobtrusive + jQuery 1.9 http://bugs.jquery.com/ticket/13220

    0 讨论(0)
  • 2020-12-10 01:08

    .live() is a deprecated function (from 1.7+) and removed completely from jQuery 1.9+.

    You can instead use .on() or .bind() methods:

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

    0 讨论(0)
  • 2020-12-10 01:14

    There is one scenario when neither .on(), nor .bind() won't work: when the element does not exist when the event handler is being added. And this was what live() did.

    0 讨论(0)
  • 2020-12-10 01:14

    See on http://api.jquery.com/live/

    old

    $("a.offsite").live("click", function(){ alert("Goodbye!"); });                // jQuery 1.3+
    $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); });  // jQuery 1.4.3+
    

    new

    $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); });        // jQuery 1.7+
    
    0 讨论(0)
提交回复
热议问题