快速解决jQuery和其他库冲突的方法

一般来说,当jQuery和其他库在同一页上使用时,全局名称$的定义是最具争议性和争议焦点的。正如我们所知,jQuery使用$作为jQuery名称的别名,并将其应用于jQuery公开的每一个函数,但其他库最著名的是原型,也使用名称。

1。jQuery提供美元。任何效用函数()放弃美元的标识符入住让其他图书馆使用它。

此函数的语法如下所示:
任何(jquerytoo)美元。

将标识符$的控制返回给其他库,允许在页面上使用jQuery和其他库。

您还可以放弃jQuery标识符(可选)。

此方法应该在包含jQuery之前调用,但在包含冲突库之前。


虽然jQuery使用标识符,因为美元是jQuery的一个别名,jQuery的所有功能仍然可用的应用后,任何(),我们可以定义短,但不冲突的jQuery的别名,如

var;

2。另一个常见用途是创建一个域环境,在这个环境中,标识符指向一个jQuery对象当扩展jQuery是一种常用的技术,特别是插件作者,他们可能没有开发商的电话($。任何)不能做任何假设,当然要调用该函数以避免对开发商的损害,

这个成语如下:
(函数($){ })(jQuery);
(函数($){ })

这部分声明一个函数括号中,从而产生一个表达式,这个表达式的结果是一个匿名函数,这个函数将传入的单参数和命名它为,函数体中可以导致美元的任何标识符传递给这个函数的参数声明的东西。因为优先于任何类似的命名标识在全球范围内,在函数外定义的任何值的函数传入的参数替换。

(jQuery)

在匿名函数上执行函数调用,将jQuery对象作为参数传递


在函数之外,无论$标识符是在原型库还是其他库中定义的,它总是指向函数中的jQuery对象。

当使用这种技术时,外部声明的$在函数的函数中不可用。

三.第二种用法的变体也经常用于声明现成的处理函数,从而形成第三种语法,
函数($){
})

当编写可重用的组件,这些组件可用于已经使用$页。任何(),最好是采取预防措施的定义为。