/ / Come evitare conflitti tra due versioni della libreria Jquery? - jquery, jquery-plugins, struts2-jquery

Come evitare conflitti tra due versioni della libreria Jquery? - jquery, jquery-plugins, struts2-jquery

Nella pagina jsp, sto usando struts2-jquery-plugin-3.2.1.jar (usa internamente jquery-1.6.4.js) e sto usando facebox (usa jquery-1.4.3.min.js). Quindi il mio struts2-jquery-plugin-3.2.1.jar carica prima poi facebox jquery. ma quando metto jquery-1.4.3.min.js il mio struts2-jquery-plugin-3.2.1.jar smette di funzionare e quando rimuovo jquery-1.4.3.min.js ovviamente il mio facebox smette di funzionare. Seguo questi forum: Qui e Qui ma non in grado di risolvere questo problema.Un ragazzo mi consiglia di usare la nuova versione di struts2-jquery-plugin, ma non posso usarla perché se uso una nuova versione di struts2-jquery-plugin, allora qualche codice del mio progetto ha smesso di funzionare. Condividi le tue conoscenze su questo problema.

risposte:

5 per risposta № 1

è necessario utilizzare la funzione jQueryNoConflict: http://api.jquery.com/jQuery.noConflict/

quindi la tua biblioteca deve essere definita come:

<script src="jquery-1.3.2.js"></script>
<script>
var jq132 = jQuery.noConflict();
</script>

<script src="jquery-1.4.2.js"></script>
<script>
var jq142 = jQuery.noConflict();
</script>

e quindi puoi usarli entrambi in questo modo:

jq132.ajax(....);
jq142("#my-elem").hide();

0 per risposta № 2

Basta usare l'ultima versione di jQuery (nel tuo caso 1.6.4.js) e funzionerà. Non aggiornare alla versione 1.9 anche se contiene più modifiche di rottura.

Non vi è alcun motivo per cui la Facebox dovrebbe smettere di funzionare se si rimuove il jquery-1.4.3. Tutti i metodi deprecati dalla 1.4 sono inclusi nella 1.6.

Controlla la console per eventuali errori.