Tutoriaux > Javascript > "$ is not a function" dans JQuery - La solution
En développant en JQuery, il peut arriver d'être confronté à l'erreur "$ is not a function". Le problème vient du fait que l'objet $ est déjà utilisé par un script différent. Voici comment le contourner.
Si vous lisez ce tutoriel, c'est sûrement que vous utilisez JQuery, et vous savez donc bien qu'en général l'appel d'une fonction se fait de la manière suivante :
$(document).ready(function() {
$("a").click(function() {
alert("Un bonjour d'Aidoweb !");
});
});
L'objet $ est utilisé par JQuery en tant que récupérateur de fonctions, et le script sait quelle librairie appeler. Mais le souci est que si vous utilisez d'autres librairies qui utilisent aussi le dollar comme objet par défaut, elles vont se marcher dessus !
La solution est plutôt simple rassurez vous. Il suffit d'utiliser la fonction JQuery.noConflict(); et de remplacer tous les $ par des JQuery. Elle permettra de réassigner toutes les variables de l'objet $ à ce JQuery, et évitera les conflits. Donc, pour le script ci-dessus, on arrive à :
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery("a").click(function() {
alert("Un bonjour d'Aidoweb !");
});
});
Magie, le message "$ is not a function" n'apparaît plus !
Pour plus d'informations sur JQuery.noConflict http://api.jquery.com/jQuery.noConflict/
Par Pouzy
, Le 03 Décembre 2010 à 16h48
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.
"Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié."
Peut être traduit d'ailleurs alors ?
http://www.adrogen.com/blog/jquery-conflict-is-not-a-function/
Tutoriaux > Javascript > "$ is not a function" dans JQuery - La solution