jQuery vs MooTools - Der Programmierer hat die Qual der Wahl. Verwendet er das Framework
MooTools oder lieber doch das populärere
jQuery. Welches besser ist, darüber lässt sich lange debattieren und wird doch zu keinem Ergebnis führen. Einige Programmierer setzen eben auf
Mootools, andere wiederum auf
jQuery. Was nun aber, wenn beide Frameworks paralell arbeiten sollen? So im speziellen Falle der e
Commerce-Software
TomatoCart. Alle Javascripte basieren auf MooTools. Klar, wäre es möglich MooTools zu lernen. Aber jQuery ist doch so viel einfacher und schneller zu lernen. Worauf dieser Beitrag zielt - Beide Frameworks verwenden als Anweisung das Dollarzeichen
($). Jedoch behindern sich die Frameworks damit auch. Hier kommt jQuery mit einer simplen und dazu guten Lösung. Es lässt
MooTools den Vorrang und gibt sich mit der alternativen Anweisung "jQuery" zufrieden. So bietet jQuery eine kurze und knackige Funktion, welche für Frieden sorgt:
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> jQuery.noConflict(); </script>
Möglichkeit 1
Wir tauschen in unserem jQuery-Code an allen Anweisungen das Dollarzeichen($) durch die Anweisung jQuery aus. Das sieht dann folgendermaßen aus:
<script type="text/javascript"> jQuery(document).ready(function(){ //Hier folgen, wie gewohnt die jQuery-Anweisungen }; </script>
Möglichkeit 2
Wir diffenzieren den jQuery Code in eine eigene Funktion
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $.noConflict(); jQuery(document).ready(function($) { // Hier folgt der jQuery-Code mit der $-Anweisung }); // Hier folgt der Code anderer JavaScript Frameworks. </script>
So können wir, wie gewohnt mit dem Dollarzeichen arbeiten und behindern andere Frameworks nicht.
Möglichkeit 3
Wir verpassen jQuery eine neue Anweisungsvariable.
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var $j = jQuery.noConflict(); $j(document).ready(function(){ //Hier folgen, wie gewohnt die jQuery-Anweisungen. }; </script>
Wenn Fragen bestehen, helfen wir gerne weiter.