我有以下情况
我想在我的Rails应用程序中结合使用我的基于jQuery的功能,但我担心jQuery和Scriptaculous冲突(它们都定义了$()函数等)。
将两者结合在一起的最简单方法是什么?谢谢!
答案 0 :(得分:15)
jQuery.noConflict();
然后使用jQuery而不是$来引用jQuery。如,
jQuery('div.foo').doSomething()
如果你需要调整使用$的jQuery代码,你可以用它包围它:
(function($) {
...your code here...
})(jQuery);
答案 1 :(得分: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。
答案 2 :(得分:1)
jRails是使用jQuery库在Rails中编写scriptaculous / prototype的直接替代品,它完全符合您的需求。