0

私は、jQueryUI Effects Coreの何かと競合するjQueryプラグインを使用しています。これは、おそらく簡単なアニメーションと関係があります。

プラグインがオープンソースではないため、コードを投稿できません。私の質問は、このエラーをキャッチして修正する方法はありますか?

jQueryUI Effects Coreでは、次のコードを削除しても、両方のプラグインが競合することなく正しく機能します

$.effects = {
    effect: {}
};

何のためにあるのかさえわからないので、理解したいと思います。

私を助けようとする人に事前に感謝します。

4

2 に答える 2

2

ライブラリ自体の競合を探している場合は、開発バージョンのjQueryを使用します。あなたはすでにfirebugやchromesjavascriptconsoleなどのある種のデバッグツールを使用していると確信しています。そこから、エラーを見つけてスタックトレースを取得する必要があります。この場合、Firefoxの「すべてのエラーを解除する」機能が役立ちます。

また、jqueryの開発バージョンに独自のコードを追加することを恐れないでください。それを台無しにして、あなた自身のコードとして扱ってください、あなたはいつでもそれを再びダウンロードすることができます。

幸運を!

于 2012-12-24T19:13:51.667 に答える
1

多くのJavaScriptライブラリは$、jQueryと同じように、関数名または変数名として使用します。jQueryの場合、$は単なるエイリアスであるためjQuery、$を使用しなくてもすべての機能を利用できます。jQueryと一緒に別のJavaScriptライブラリを使用する必要がある場合は、次の呼び出しを使用して$の制御を他のライブラリに戻すことができます$.noConflict()

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

この手法は、.ready()に渡されるコールバック内で、後で競合を恐れずに$を使用できるため、jQueryオブジェクトをエイリアスする.ready()メソッドの機能と組み合わせると特に効果的です。

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
    $("div").hide();
  });
  // Code that uses other library's $ can follow here.
  $("content").style.display = 'none';
</script>

ソース:jQuery.noConflict

于 2012-12-24T19:22:21.790 に答える