1

我在网页中调用此代码时遇到问题:

<?php $chat->printChat(); ?>

这行代码调用了使用prototype.js 1.6.0.2 的聊天室(phpfreechat) 在我调用它之后,我的jQuery.js 停止工作。但是当我在调用聊天之后调用我的 jQuery.js 时,jQuery 可以工作,但聊天似乎不起作用。我怎样才能让这两个 javascript 在我的网页中工作?tnx 的帮助。

4

2 回答 2

2

使用jQuery.noConflict(),因为您正在使用prototype,因此与jQuery.

说明:放弃 jQuery 对$变量的控制。

许多 JavaScript 库都使用$函数或变量名,就像这样jQuery做一样。In jQuery'scase,$只是 的别名jQuery,因此所有功能都可以在不使用$. 如果您需要同时使用另一个 JavaScript 库jQuery,请通过调用 将控制权$返回给另一个库$.noConflict()。的旧引用在初始化$期间被保存;只是恢复它们。jQuerynoConflict()

阅读更多

例子

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) 
于 2013-03-18T05:24:34.233 回答
1

最好的方法是将所有 jQuery 代码包装在自执行函数中,其中 jQuery 作为参数传递。

(function ($) {

  // Your jQuery code which can safely use `$`
  ..
  ..

}(jQuery));

你也可以使用,

jQuery(document).ready(function($) {
  ...

  //Your jQuery code with which can safely use `$`
  ..

});
于 2013-03-18T05:28:22.917 回答