• jQuery学习笔记——jQuery和其他库冲突的解决办法


    一般来说,$符号是最容易引发冲突的地方。jQuery使用$作为jQuery名称的别名,因此jQuery所展示的每个功能都用到$。但是其他库,如常见的Prototype也使用$名称。

    所幸还好,jQuery提供了$.noConfict() 实用工具函数,用于放弃对$名称的控制,把$符号让给其他任何库。

    因为$只是jQuery的别名,所有在应用$.noConfic() 之后jQuery的全部功能依然可用,只是要使用jQuery标示。

    当然也可以通过自定义的方式给jQuery定义一个更短的、不会引起冲突的别名:

      var $j=jQuery;

    另一个经常采取的习惯用法是创建一个环境,在里面$名称的作用域被设定为引用jQuery对象。

      (function($) { /* some functions */ })(jQuery);

    函数说明:前面部分(function($){  }) 声明了一个函数,用圆括号括起来,由此构成一个表达式,这个匿名函数的引用作为表示式的值而被返回。函数需要一个名为$的参数。在函数体内,可以利用$标示符引用任何传递给这个函数的东西。因为参数声明优先于在全局作用域里的任何同名标示符,所以在这个函数外面为$定义的任何值在函数内被传入的参数所取代。

    (jQuery)——传递jQuery对象所谓匿名函数的实参。

    因此在匿名函数体内,jQuery对象被$名称所引用,而不管在匿名函数外面,是否$名称已经为Prototype或其他库所定义。即:使用这个技巧,在匿名函数体内,$的外部声明是不可用的。

    上述习惯用法还有以下变形:

      jQuery(function($){

        alert("I'm ready!");

      });

    通过传递一个函数作为jQuery函数的参数,由此把这个函数声明为就绪处理程序。$标示符作为单个参数传递给就绪处理程序。因为jQuery总是把jQuery对象的引用作为唯一的第一个参数传递给就绪处理程序,所以这保证了在就绪处理程序内jQuery对象被$名称所引用,而不管在就绪处理函数体的外面,是否$名称已经被定义。

    注:部分内容节选自《jQuery实战》一书

  • 相关阅读:
    Shell 06 awk
    Shell 05 Sed
    Shell 04 字符串处理、正则表达式
    Shell 03 for while case 函数 中断及退出
    Shell 02 数据运算/条件测试
    Shell 01 shell概述
    六十.完全分布式 、 节点管理 、 NFS网关
    五十九.大数据、Hadoop 、 Hadoop安装与配置 、 HDFS
    五十八.Kibana使用 、 Logstash配置扩展插件
    bzoj4872
  • 原文地址:https://www.cnblogs.com/technote/p/3040406.html
Copyright © 2020-2023  润新知