TIP: Jak na Mootools & jQuery zároveň v jednom projektu
Upozornění: Tento článek je již zastaralý.
Ať už jste donuceni z jakéhokoli důvodu použít obě výše zmíněné Javascriptové knihovny na jednom projektu, možná se Vám bude hodit následující tip. Předem je třeba říct, že tyto knihovny skutečně mohou fungovat zároveň a nebude Vás to stát mnoho úsilí.
Jak jistě víte, jQuery i Mootools používají znak dolaru ($) jako zkratku pro volání funkce jenž je jádrem obou knihoven. Toto chování lze však u jQuery vypnout pomocí jednoduchého příkazu:
jQuery.noConflict();
Na internetu je mnoho diskuzí kde doporučují následující postup:
<script type="text/javascript" src="jquery-1.3.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="moo1.2.js"></script>
Všimněte si, že se zde prvně načítá jQuery, poté se vypne asociace k dolaru a nakonec se načítá Mootools. Toto řešení je ovšem docela nevzhledné a pokud používáte automatické načítání skriptů, je zbytečně obtížně realizovatelné.
Po pár hodinovém mlácení hlavy do stolu jsem nedávno na jednom projektu přišel k závěru, že to jde udělat líp, aniž by se knihovny praly. Trik je v tom, že musíte zajistit, aby se Mootools načetlo před jQuery. Potom už můžete kdekoli z kódu zavolat magickou metodu noConflict(). Pokud by se prvně načetlo jQuery, Mootools by nebylo funkční a vy byste si omlátili hlavu o stůl stejně jako já, než byste přišli na to, čím je způsobena nefunkčnost Vašeho skriptu.
Ve finální podobě tedy:
//head
<script type="text/javascript" src="moo1.2.js"></script>
<script type="text/javascript" src="jquery-1.3.js"></script>
//content'n'stuff
<script type="text/javascript">
//kdekoli v kódu
jQuery.noConflict();
</script>
Doufám, že tento tip Vám ušetří čas, peníze a modřiny.
Ať už jste donuceni z jakéhokoli důvodu použít obě výše zmíněné Javascriptové knihovny na jednom projektu, možná se Vám bude hodit následující tip. Předem je třeba říct, že tyto knihovny skutečně mohou fungovat zároveň a nebude Vás to stát mnoho úsilí.
Jak jistě víte, jQuery i Mootools používají znak dolaru ($) jako zkratku pro volání funkce jenž je jádrem obou knihoven. Toto chování lze však u jQuery vypnout pomocí jednoduchého příkazu:
jQuery.noConflict();
Na internetu je mnoho diskuzí kde doporučují následující postup:
<script type="text/javascript" src="jquery-1.3.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="moo1.2.js"></script>
Všimněte si, že se zde prvně načítá jQuery, poté se vypne asociace k dolaru a nakonec se načítá Mootools. Toto řešení je ovšem docela nevzhledné a pokud používáte automatické načítání skriptů, je zbytečně obtížně realizovatelné.
Po pár hodinovém mlácení hlavy do stolu jsem nedávno na jednom projektu přišel k závěru, že to jde udělat líp, aniž by se knihovny praly. Trik je v tom, že musíte zajistit, aby se Mootools načetlo před jQuery. Potom už můžete kdekoli z kódu zavolat magickou metodu noConflict(). Pokud by se prvně načetlo jQuery, Mootools by nebylo funkční a vy byste si omlátili hlavu o stůl stejně jako já, než byste přišli na to, čím je způsobena nefunkčnost Vašeho skriptu.
Ve finální podobě tedy:
//head
<script type="text/javascript" src="moo1.2.js"></script>
<script type="text/javascript" src="jquery-1.3.js"></script>
//content'n'stuff
<script type="text/javascript">
//kdekoli v kódu
jQuery.noConflict();
</script>
Doufám, že tento tip Vám ušetří čas, peníze a modřiny.
Komentáře