我在网页中调用此代码时遇到问题:
<?php $chat->printChat(); ?>
这行代码调用了使用prototype.js 1.6.0.2 的聊天室(phpfreechat) 在我调用它之后,我的jQuery.js 停止工作。但是当我在调用聊天之后调用我的 jQuery.js 时,jQuery 可以工作,但聊天似乎不起作用。我怎样才能让这两个 javascript 在我的网页中工作?tnx 的帮助。
使用jQuery.noConflict()
,因为您正在使用prototype
,因此与jQuery
.
说明:放弃 jQuery 对
$
变量的控制。许多 JavaScript 库都使用
$
函数或变量名,就像这样jQuery
做一样。InjQuery's
case,$
只是 的别名jQuery
,因此所有功能都可以在不使用$
. 如果您需要同时使用另一个 JavaScript 库jQuery
,请通过调用 将控制权$
返回给另一个库$.noConflict()
。的旧引用在初始化$
期间被保存;只是恢复它们。jQuery
noConflict()
例子
jQuery.noConflict();
// Use jQuery via jQuery(...)
jQuery(document).ready(function()
{
jQuery("div").hide();
});
或者
var $jQ = jQuery.noConflict();
// Use jQuery via $jQ(...)
$jQ(document).ready(function()
{
$jQ("div").hide();
});
使用以下技术,它允许我们$
在代码块内部使用而不覆盖$
:
(function($) { /* some code that uses $ */ })(jQuery)
最好的方法是将所有 jQuery 代码包装在自执行函数中,其中 jQuery 作为参数传递。
(function ($) {
// Your jQuery code which can safely use `$`
..
..
}(jQuery));
你也可以使用,
jQuery(document).ready(function($) {
...
//Your jQuery code with which can safely use `$`
..
});