4

我有以下情况

  • 一个使用 rjs / Scriptaculous 提供 AJAX 功能的 Rails 应用程序
  • 使用 jQuery 编写的许多不错的 javascript(用于单独的应用程序)

我想将两者结合起来并在我的 Rails 应用程序中使用基于 jQuery 的功能,但我担心 jQuery 和 Scriptaculous 冲突(它们都定义了 $() 函数等)。

将两者结合在一起的最简单选择是什么?谢谢!

4

3 回答 3

15
jQuery.noConflict();

然后用 jQuery 代替 $ 来引用 jQuery。例如,

jQuery('div.foo').doSomething()

如果你需要修改使用 $ 的 jQuery 代码,你可以用这个包围它:

(function($) {
...your code here...
})(jQuery);
于 2008-09-22T01:11:07.153 回答
2

我相信是jQuery.noConflict()

您可以像这样独立调用它:

jQuery.noConflict();

jQuery('div').hide();

或者您可以将其分配给您选择的另一个变量:

var $j = jQuery.noConflict();

$j('div').hide();

或者你可以在这样的块中继续使用 jQuery 的$函数:

jQuery.noConflict();

 // Put all your code in your document ready area
 jQuery(document).ready(function($){
   // Do jQuery stuff using $
   $("div").hide();
 });
// Use Prototype with $(...), etc.
$('someid').hide();

有关更多信息,请参阅jQuery 文档中的将 jQuery 与其他库一起使用。

于 2008-09-22T01:52:13.577 回答
1

jRails是使用 jQuery 库的 Rails 中 scriptaculous/prototype 的替代品,它完全符合您的要求。

于 2008-09-22T01:04:56.950 回答