Actuellement, je travaille sur un projet qui utilise des scripts de la librairie mootools. Je dois insérer des scripts qui utilise le merveilleux jQuery. Je me dis, pas de problème, jQuery a un mode de compatibilité, que j'ai déjà utilisé dans d'autre projets.

Malheureusement, cela ne fonctionne pas avec Mootools. Mootools semble refuser de fonctionner si au moment de son instanciation, la variable $ existe déjà.

L'ensemble des préconisations de la page de compatibilité de jQuery ne fonctionne pas non plus.

La solution, la voici :

<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="../js/mootools-core.js"></script>

En gros, on commence par charger la librairie jQuery. Le symbole $ devient donc un objet jQuery. Ensuite, grâce à noConflict(), on libère la variable $. Enfin, on peut charger mootools qui ne pose plus aucune résistance !

PS : Pour utiliser jQuery dans la page, ne pas utiliser le $, mais jQuery. exemple : jQuery('#mon-element').