我在我的Rails应用程序中使用jQuery。我想在我的页面中添加展开折叠文字效果。所以我下载了jQuery exapander plugin并试图使用它。我正面临一个奇怪的问题。在我的应用程序导致问题的jQuery.noConflict()方法
我的jQuery.js
文件最后有这条线叫jQuery.noConflict();
。我必须删除它才能使此扩展崩溃效果起作用。但是,当我删除它时,我在应用程序的其他位置使用的日历组件无法正常工作。
请帮我看看这里。
谢谢。
我在我的Rails应用程序中使用jQuery。我想在我的页面中添加展开折叠文字效果。所以我下载了jQuery exapander plugin并试图使用它。我正面临一个奇怪的问题。在我的应用程序导致问题的jQuery.noConflict()方法
我的jQuery.js
文件最后有这条线叫jQuery.noConflict();
。我必须删除它才能使此扩展崩溃效果起作用。但是,当我删除它时,我在应用程序的其他位置使用的日历组件无法正常工作。
请帮我看看这里。
谢谢。
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
相反的,
$('#something').show();
使用,
jQuery.noConflict(true);
jQuery('#something').show();
除此之外,您可以将所有使用$的代码封装在一个匿名函数中,并将其作为参数使用jQuery进行调用:(function($){$('#something')。expander(); })(jQuery的); – 2010-08-12 15:17:28
SWEEEEEEEEEEEEEEEEEEEEET !!它解决了我的问题! – bragboy 2010-08-12 15:35:34