在Rails应用程序中结合Scriptaculous和jQuery

问题描述 投票:4回答:3

我有以下情况

  • 一个rails应用程序,它使用rjs / Scriptaculous来提供AJAX功能
  • 使用jQuery编写的很多很好的javascript(用于单独的应用程序)

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

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

javascript jquery ruby-on-rails ruby scriptaculous
3个回答
15
投票
jQuery.noConflict();

然后使用jQuery而不是$来引用jQuery。例如。,

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

如果你需要调整使用$的jQuery代码,你可以用它包围它:

(function($) {
...your code here...
})(jQuery);

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文档中的Using jQuery with Other Libraries


1
投票

jRails是使用jQuery库在Rails中的scriptaculous / prototype的直接替代品,它正是你正在寻找的。

© www.soinside.com 2019 - 2024. All rights reserved.