Sie können dies erreichen, indem Sie Ihre Version von jQuery im konfliktfreien Modus ausführen . Der Modus "Kein Konflikt" ist die typische Lösung, um jQuery auf einer Seite mit anderen Frameworks wie dem Prototyp zum Laufen zu bringen. Er kann auch hier verwendet werden, da er im Wesentlichen jede Version von jQuery benennt, die Sie laden.
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>
Diese Änderung bedeutet , dass jede der jQuery Sachen , die Sie verwenden möchten , genannt werden müssen unter Verwendung jq13als vielmehr $, zB
jq13("#id").hide();
Es ist keine ideale Situation, wenn beide Versionen auf derselben Seite ausgeführt werden. Wenn Sie jedoch keine Alternative haben, sollten Sie mit der oben beschriebenen Methode zwei unterschiedliche Versionen gleichzeitig verwenden können.
Was wäre, wenn wir aus Neugier ein zusätzliches Steuerelement verwenden würden, das auf eine weitere Version von jQuery verweisen müsste?
Wenn Sie eine weitere Version von jQuery hinzufügen müssen, können Sie Folgendes erweitern:
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<script src="jQuery1.3.1.js"></script>
<script>
jq131 = jQuery.noConflict(true);
</script>
<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>
Die Variablen jq13und werden jq131jeweils für die von Ihnen benötigten versionenspezifischen Funktionen verwendet.
Es ist wichtig, dass die vom ursprünglichen Entwickler verwendete jQuery zuletzt geladen wird. Der ursprüngliche Entwickler hat seinen Code wahrscheinlich unter der Annahme geschrieben, $()dass er seine jQuery-Version verwenden würde. Wenn Sie eine andere Version nach ihrer laden, $wird diese von der zuletzt geladenen Version "gepackt", was bedeuten würde, dass der ursprüngliche Entwicklercode auf der neuesten Bibliotheksversion ausgeführt wird, wodurch die Version noConflictsetwas überflüssig wird!