我有一个网站在 90% 的页面上呈现基于原型的日历。我也在考虑使用 Uploadify 模块来处理使用 Paperclip 进行的多次上传。如您所知,Paperclip 和 JQuery 不能很好地发挥作用,而且我尝试过的许多解决方案(例如 NoConflict)都对我不起作用,我仍然在整个地方的 firebug 中遇到“未定义”错误。我想知道添加这个 JQuery 模块的最佳方法是什么,该模块将在很大程度上基于原型的应用程序中非常本地化。我考虑过用 JQuery 切换我的原型代码,但我还没有看到针对我正在使用的这个特定日历插件的更好的 JQuery 解决方案。
问问题
454 次
1 回答
2
为 noConflict 使用适当的结构。
<script src="prototype.js"></script>
<script src="someprototypeplugin.js"></script>
<script src="jQuery.js"></script>
<script src="uploadify.jquery.js"></script>
<script>
$.noConflict();
jQuery(document).ready(function($){
$("#someelement").uploadify();
});
</script>
如果这不能回答您的问题,请提供更多(一些)代码。
编辑评论:
只需在$.noConflict()
您的 jQuery 插件之后立即运行,然后在整个 JS 文件中使用jQuery
而不是变量。$
<script src="prototype.js"></script>
<script src="someprototypeplugin.js"></script>
<script src="jQuery.js"></script>
<script src="uploadify.jquery.js"></script>
<script>
$.noConflict();
</script>
示例 js 文件:
(function($){
// since we passed a reference to jQuery to this anonymous
// function and accepted it as a parameter named "$", we can
// safely use "$"
$("#target").uploadify();
})(jQuery);
如果您需要准备好文档,您可以这样做:
jQuery(document).ready(function($) {
$("#target").uploadify();
});
于 2012-05-14T18:15:01.997 回答