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

bra*_*boy 0 jquery ruby-on-rails

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

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

请帮帮我.

谢谢.

Ken*_*ler 5

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

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

$.noConflict();
Run Code Online (Sandbox Code Playgroud)

然后从那一点开始,$不是jQuery.所以:

$('#something').expander(); // won't work
jQuery('#something').expander(); // will work
$.something_from_non-jQuery_library_using_$_var(); // will work
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:

jQ = $.noConflict();
Run Code Online (Sandbox Code Playgroud)

然后:

jQ('#something').expander(); // will work  
$.something_from_non-jQuery_library_using_$_var(); // will work
Run Code Online (Sandbox Code Playgroud)