0

ページの90%でプロトタイプベースのカレンダーをレンダリングしているWebサイトがあります。また、Paperclipで複数のアップロードを処理するためにUploadifyモジュールを使用することも検討しています。ご存知のように、PaperclipとJQueryはうまく機能せず、NoConflictなど、私が試した多くのソリューションがうまく機能しませんでした。それでも、firebugで「未定義」エラーが発生します。主にプロトタイプベースのアプリケーションに非常にローカライズされるこのJQueryモジュールを追加するための最善の方法は何でしょうか。プロトタイプコードをJQueryに切り替えることを検討しましたが、使用しているこの特定のカレンダープラグインに適したJQueryソリューションはまだありません。

4

1 に答える 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 に答える