jQuery mit anderen Frameworks betreiben
In letzter Zeit bin ich ein immer grösserer Fan des jQuery- Frameworks geworden und setze es dementsprechend immer häufiger ein. Allerdings gibt es für gewisse Problemstellungen einfach schon eine perfekt umgesetzte Lösung, welche auf einem anderen Framework (bsp. MooTools, Prototype etc.) basiert.
Wie man sich schon denken kann, vertragen sich die einzelnen Frameworks nicht sonderlich gut unter einander. Dies hat vor allem den Grund, dass alle auf dieselbe Syntax setzen:
$("myObject").doSomething();
Der Selektor für ein Seitenelement ist also immer derselbe, was sich ändert sind dann die Methoden. Nun wird einfach das Framework genommen, welches als letztes vor dieser Codezeile eingebunden wurde. Dieses Verhalten ist zwar vorhersehbar aber trotzdem sehr unschön.
Zum Glück hilft uns jQuery mit einem eigenen Konstrukt aus, dass es uns ermöglicht ganz einfach jQuery mit einem weiteren Framework zu betreiben.
Nachdem man die jQuery- Library eingebunden hat, muss man einfach folgenden JavaScript- Block einbinden:
<script type="text/javascript">
jQuery.noConflict();
</script>
Dieser bewirkt, dass jQuery nicht mehr auf das Konstrukt $("myObject") reagiert, sondern nur noch auf jQuery("myObject"). Das andere Framework reagiert dabei nach wie vor noch auf das kurze $- Konstrukt, allerdings kommt es nun zu keinen Konflikten zwischen beiden Frameworks mehr.
Ich hoffe, dass ich dem ein oder anderen etwas weiterhelfen konnte…
jQuery mit anderen Frameworks betreiben
In letzter Zeit bin ich ein immer grösserer Fan des jQuery- Frameworks geworden und setze es dementsprechend immer häufiger ein. Allerdings gibt es für gewisse Problemstellungen einfach schon eine perfekt umgesetzte Lösung, welche auf einem anderen Framework (bsp. MooTools, Prototype etc.) basiert.
Wie man sich schon denken kann, vertragen sich die einzelnen Frameworks nicht sonderlich gut unter einander. Dies hat vor allem den Grund, dass alle auf dieselbe Syntax setzen:
$("myObject").doSomething();Der Selektor für ein Seitenelement ist also immer derselbe, was sich ändert sind dann die Methoden. Nun wird einfach das Framework genommen, welches als letztes vor dieser Codezeile eingebunden wurde. Dieses Verhalten ist zwar vorhersehbar aber trotzdem sehr unschön.
Zum Glück hilft uns jQuery mit einem eigenen Konstrukt aus, dass es uns ermöglicht ganz einfach jQuery mit einem weiteren Framework zu betreiben.
Nachdem man die jQuery- Library eingebunden hat, muss man einfach folgenden JavaScript- Block einbinden:
<script type="text/javascript">jQuery.noConflict();
</script>
Dieser bewirkt, dass jQuery nicht mehr auf das Konstrukt
$("myObject")reagiert, sondern nur noch aufjQuery("myObject"). Das andere Framework reagiert dabei nach wie vor noch auf das kurze $- Konstrukt, allerdings kommt es nun zu keinen Konflikten zwischen beiden Frameworks mehr.Ich hoffe, dass ich dem ein oder anderen etwas weiterhelfen konnte…