jQuery : comment faire face à l'erreur Uncaught TypeError: undefined is not a function ?
L'erreur peut survenir lors de l'utilisation des bibliothèques JQuery ou JQuery UI. Voici comment la corriger.
Quand vous utilisez la bibliothèque JQuery ou la bibliothèque graphique JQuery UI, il est possible que l'erreur suivante apparaisse dans la console de votre navigateur :
Uncaught TypeError: undefined is not a function
Il existe plusieurs causes possibles pour ce problème.
La première vérification à faire concerne le fichier contenant JQuery UI. Le fait que le navigateur ne trouve pas ce fichier peut conduire à ce type d'erreur. Pour vérifier ce point, utilisez les outils de développement de votre navigateur, et allez dans l'onglet réseau. Si la ligne contenant le fichier de JQuery UI affiche un code de retour 404, alors le fichier n'a pas été trouvé. Vous devez vérifier que le fichier se trouve dans le bon emplacement. Si vous ne souhaitez pas héberger le fichier sur votre site et si le fait de dépendre d'un autre site n'est pas un problème pour vous, vous pouvez utiliser les CDN de Google qui répertorient différentes bibliothèques de développement :
<link rel=stylesheet href=https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css> <script src=https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js></script>
L'autre erreur possible est tout simplement une faute dans le nom d'une fonction. Si vous utilisez un mauvais nom, cette erreur s'affichera. Exemple :
jQuery('#datetimepicker').datetimepicker(); //La fonction datetimepicker n'existe pas. jQuery('#datetimepicker').datepicker(); //L'écriture est correcte.
La documentation de l'API JQuery UI répertorie toutes les fonctions, et fournit des exemples concrets pour vous aider à ne pas commettre d'erreurs.