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