• jQuery中live()变更


    开始的时候在jQuery.1.7.1中使用了.live()觉得很好用,特别是在绑定事件之后再加入的元素的事件绑定上很方便(第一次live之后以后添加的元素就不需要绑定啦)

    后来jQuery更新到1.9.1,页面中的.live报错:"has no method live", 后来查了文档才知道在新版本中做了修改。

    jQuery.1.8.1:

    $("#liveID").live("click",function(){alert("live click");});

    jQuery.1.9.1:

    $(document).on("click","#liveID",function(){alert("live click");});

    jQuery网站上这么说的:

    As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().

    This method provides a means to attach delegated event handlers to the document element of a page, which simplifies the use of event handlers when content is dynamically added to a page. See the discussion of direct versus delegated events in the.on() method for more information.

    改进后的使用建议:

    1 $(selector).live(events, data, handler); // jQuery 1.3+

    2 $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+

    3 $(document).on(events, selector, data, handler); // jQuery 1.7+

    示例:
    1 $("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+

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

    3 $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+

    PS:jQuery也不能随便更新升级的,要看看每次更新都有些什么变动,不然更新后系统就会有问题啦。

  • 相关阅读:
    antipirate AD
    猪头符号
    开发过程中经常出现的问题及解决方案
    CS0016: 未能写入输出文件C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\source code\00f88265\65f00fab\App_Web_w56x7oz6.dll拒绝访问
    ASPxComboBox控件联动效果bug改进
    工作中的点滴积累
    每日一句
    每日一句
    解决ora12154的问题
    如何查看eclipse版本?
  • 原文地址:https://www.cnblogs.com/wancy86/p/jQuery_live.html
Copyright © 2020-2023  润新知