質問: jQueryのnoconflictが動作しない? 私はこれに問題があるように思えるし、多くのテストの後でもどのコンポーネントが原因であるのか分からないようです。 だから、私がしたことは、 ``` jQuery.noConflict(); jQuery(document).ready(function() { jQuery("a").click(function() { alert("Hello world!"); }); }); ``` 私もすべての$を 'jQuery'に置き換えました。 しかし、 "$は関数ではありません"エラーが消えても、多くのコードはまだ動作しません。 Here is one working example that doesn't work on the site: http://jsfiddle.net/pufamuf/Q3YpU/3/ 自分のサイトを見ると、同じコードであっても「アクティブ」部分は機能していないようです Link to Js file: Link 最後に、このコード全体が機能しません。 ``` jQuery('.scroll-pane').jScrollPane(); jQuery("#myTable").tablesorter({ headers: { 0: { sorter: false }, 8: { sorter: false } }, widgets: ['zebra'] }); ``` エラーは発生しませんが、カスタムスクロールバーは機能せず、テーブルソータープラグインも動作しません。 誰も私がこれをどのように修正できるか知っていますか?ありがとう! :)
回答: ~~あなた自身のプラグインも `$` を使用しているため、プラグインが動作しません。したがって、競合は存在し、実行されません。それらを `jQuery` に置き換えるか、プラグインファイル内で `jQuery.noConflict();`~~ を追加するか、 jQueryコードが呼び出されるたびに、 `noConflict()`関数を実行する必要があります。この関数は、 `$ JS` のような変数に格納することはできません。代わりに `JS` を使用してみてください。