jQuery.noConflict()方法在我的应用程序中导致问题

时间:2010-08-12 14:43:48

标签: ruby-on-rails jquery

我在Rails应用程序中使用jQuery。我想在我的页面中添加展开折叠文本效果。所以我下载了jQuery exapander plugin并尝试使用它。我面临一个奇怪的问题。

我的jQuery.js文件最后有一行名为jQuery.noConflict();。我必须将其删除才能使此展开折叠效果起作用。但是,当我删除它时,我在应用程序中的其他地方使用的日历组件无效。

请帮帮我。

感谢。

2 个答案:

答案 0 :(得分:5)

noConflict()导致jQuery放弃对$变量的控制。您是否在使用$的同一页面上使用其他库?日历组件是否使用jQuery?

如果您的网页有以下内容:

$.noConflict();

然后从那时起,$不是jQuery。所以:

$('#something').expander(); // won't work
jQuery('#something').expander(); // will work
$.something_from_non-jQuery_library_using_$_var(); // will work

你也可以这样做:

jQ = $.noConflict();

然后:

jQ('#something').expander(); // will work  
$.something_from_non-jQuery_library_using_$_var(); // will work

答案 1 :(得分:0)

而不是,

$('#something').show();

使用,

jQuery.noConflict(true);
jQuery('#something').show();