3.1.3 让jQuery与其他JavaScript库共存

3.1.3 让jQuery与其他JavaScript库共存

美元函数冲突

如果需要让jQuery和其他JavaScript库(如Prototype)共存,则有一个小小的问题需要解决,就是$()函数。由于jQuery中的$()函数的功能很强大,而且返回的是一个jQuery对象,而其他JavaScript库中的$()函数返回的不是jQuery对象(如Prototype$()函数返回的是一个DOM对象),因此必然引起冲突。

如何解决美元函数冲突

为了解决jQuery中的$()函数和其他JavaScript库中的$()函数的冲突问题,需要取消jQuery中的$()函数,为此jQuery提供了如下方法:
jQuery.noConflict()
建议将上面的代码放在JavaScript代码的第一行,这行代码会取消了jQuery()函数的$()函数别名,因此依然可以使用jQuery()函数来代替原来的$()函数。

为jQuery函数写别名

除此之外,多次重复书写jQuery()也是很烦琐的事情,jQuery还允许开发者为jQuery()指定一个别名,如以下代码所示。

1
2
3
// 给jQuery()函数指定别名为lee
var lee = jQuery.noConflict();
var target = lee("#lee")

上面代码为jQuery函数指定别名为lee,这就允许后面的程序使用lee()函数来代替jQuery()函数了。通过这种方式,我们可以让jQuery和其他JavaScript库共存。