/ / existuje spôsob, ako použiť $ po volaní noConflict ()? - javascript, jQuery, ajax

existuje spôsob, ako použiť $ po volaní noConflict ()? javascript, jquery, ajax

Používam noConflict () pre svoj zdrojový kód, ako je tento, pretože som mal veľa problémov so zahrnutím duplicitných jquery.js z iných zdrojových kódov do svojho programu:

var $ m = jQuery.noConflict ();

$ M.getJSON (........

Problém je, že keď zavolám noConflict (), $ nebude fungovať. Viem, že môžem zmeniť $ JQuery, aby som to vyriešil. ale od ostatných máme veľa vlastných kódov a nie je možné zmeniť všetky zdrojové kódy.

existuje spôsob, ako to napraviť? Skúsil som to, ale nefungoval:

var $ = jQuery.noConflict ();

odpovede:

0 pre odpoveď č. 1

Ak máte prístup k inému kódu, zabalte ho do uzáveru IIFE, ktorý sa viaže jQuery na parameter s názvom $:

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

Ak urobíš nie mať prístup k inému kódu, môžete skúsiť dočasne nastaviť $ a ukážte na svoju inštanciu jQuery „bez konfliktu“:

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

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

window.$ = _tmp;       // restore previous value

3 pre odpoveď č. 2

Použite a funkčný výraz.

(function ($) {
// code using $ for jQuery
}(jQuerysVariable));