0

プログラムに他のソースコードから重複したjquery.jsを含めることに多くの問題があったため、次のようなソースコードに noConflict() を使用します。

var $m = jQuery.noConflict();

$m.getJSON(..........

問題は、noConflict() を呼び出すと $ が機能しないことです。これを修正するには、$ を JQuery に変更できることを知っています。しかし、他からのカスタム コードがたくさんあり、すべてのソース コードを変更することはできません。

それを回復する方法はありますか?私はこれを試しましたが、動作しません:

var $ = jQuery.noConflict();

4

2 に答える 2

3

関数式を使用します。

(function ($) {
    // code using $ for jQuery
}(jQuerysVariable));
于 2013-07-23T14:44:50.993 に答える
0

他のコードにアクセスできる場合は、jQueryというパラメーターにバインドする IIFE クロージャーでラップし$ます。

(function($) {
     ...
})(jQuery);

他のコードにアクセスできない場合は、jQuery の「競合しない」インスタンスを指すように一時的に設定すること$ができます。

var _tmp = window.$;   // save old value
window.$ = $m;         // or window.$ = window.jQuery

// invoke and/or load other code here
...

window.$ = _tmp;       // restore previous value
于 2013-07-23T14:49:52.547 に答える