首先,我们应该知道,在jQuery中,美元(美国元符号)是jQuery的别名,也就是说,jQuery的使用与jQuery的相同。当我们使用命名
空间的许多倍,这是冲突产生的这种美元。例如,$(' # XML作为')和jQuery(# XML作为')是不同的在写作,但事实上它们是完全相同的。
为了
解决这种冲突,最简单的
方法是使用不同的名称来命名它,或者让
执行代码认为它是不同的名称空间。
首先,jQuery库被导入到其他库中,直接使用jQuery(回调)方法,如:
复制代码代码如下所示:
测试---原型
测试--- jQuery
jQuery(
函数(){ / / jQuery的直接使用,无需调用jquery.noconflict()函数。
Click(函数(){)
警报(jQuery);
});
});
$(PP)。Style.display =没有人'; / /原型
二,jQuery库后,其他图书馆的进口,使用jquery.noconflict()的变量$的其他库的
控制转移的方法,用下面的方法:
复制代码代码如下所示:
(jQuery。任何); / /将控制变量$ prototype.js
jQuery(函数())
Click(函数(){)
警报(jQuery);
});
});
$(PP)。Style.display =没有人'; / /原型
代码的两
复制代码代码如下所示:
var = jquery.noconflict(J); / /定制一个相对较短的捷径
$ j(函数())
Click(函数(){)
警报($ j(this))(
文本());
});
});
$(PP)。Style.display =没有人'; / /原型
代码三
复制代码代码如下所示:
(jQuery。任何); / /将控制变量$ prototype.js
jQuery(函数($))
$(p)(单击(函数))继续使用$方法
警报($(this))文本());
});
});
$(PP)。Style.display =没有人'; / /原型
代码四
复制代码代码如下所示:
(jQuery。任何); / /将控制变量$ prototype.js
(函数($))定义一个匿名函数并
设置参数$
($函数)$内的匿名函数是jQuery
$(p)(单击(函数))继续使用$方法
警报($(this))文本());
});
});
}(jQuery);(jQuery)匿名函数,并传递参数jQuery
$(PP)。Style.display =没有人'; / /原型
********************************************************************* / /
jQuery(
文档)Ready(函数())
JQuery.noConflict();
});
除了上述方法外,我们还可以用第二种方法来解决冲突问题。这是最愚蠢但有效的解决方案:使用自定义名称空间避免冲突。
例如,项目名称必须是XML作为,所以我们的原代码:
复制代码代码如下所示:
$('contentarea)
显示()。
它可以用下面的形式写:
复制代码代码如下所示:
XML作为('contentarea)显示()。
三.在jQuery代码中,当遇到冲突时,我们可以使用$符号,这需要我们将以下代码添加到就绪事件中:
复制代码代码如下所示:
jQuery(文档)Ready(函数($){)
你可以放心,在这里用美元
});
当然,你也可以用以下的形式写:
复制代码代码如下所示:
函数($){
下面是使用$ / 的代码
});
因此,根据第一种方法实现的完整代码如下所示:
复制代码代码如下所示:
一个完整的解决方案,以解决jQuery库和其他库之间的冲突
任何()美元;
函数($){
使用jQuery代码
});
下面是您的代码的其他js库
当然,您也可以简化上面的代码,简化代码如下:
复制代码代码如下所示:
/简化代码
美元。任何()((){()函数
下面是您的带有jQuery代码的
});
下面是另一个库代码