在Rails应用程序中结合Scriptaculous和JQuery
时间:2020-03-06 14:31:10 来源:igfitidea点击:
我有以下情况
- 使用rjs / Scriptaculous提供AJAX功能的Rails应用程序
- 很多使用JQuery编写的漂亮javascript(用于单独的应用程序)
我想将两者结合起来,并在Rails应用程序中使用基于JQuery的功能,但是我担心JQuery和Scriptaculous冲突(它们都定义了$()函数,等等)。
我最容易将两者结合在一起的选择是什么?谢谢!
解决方案
jRails是使用jQuery库替代Rails中的脚本/原型的工具,它完全可以满足需求。
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文档中的将jQuery与其他库一起使用。