2010-07-19 4 views
0

J'inclus jQuery dans la tête d'un site personnel. J'ai également inclus un fichier js externe juste après celui qui utilise jQuery.Jquery problèmes de synchronisation non définis

<script language="javascript" src="../js/jquery-1.4.2.min.js"></script> 
<script language="javascript" src="../js/global.js"></script> 

global.js ne contient que les éléments suivants:

$(".nav-item").hover(function(){ 
    $(this).addClass("selected"); 
}, 
function(){ 
    $(this).removeClass("selected"); 
}); 

Quand je l'ai essayé, je notais que ma console d'erreur me donnait un « $ n'est pas définie erreur ». Après avoir déplacé mon fichier js externe au bas de la page, tout fonctionne bien. Quelle est la bonne façon de traiter ce qui est apparemment un problème de synchronisation?

Merci à l'avance pour toute aide

EDIT: Il semble que pendant que je l'ai vu l'erreur non définie hier soir, je dois avoir fait quelque chose pour se débarrasser de lui et je ne suis pas en mesure de voir ou de reproduire plus. J'ai essayé de lier les événements à document.ready, et cela semble résoudre mon problème.

+1

Est-ce que jQuery est inclus * plus tard * dans la page aussi ... une chance que le premier lien ne soit pas correct? Ils devraient charger dans l'ordre, beaucoup de choses dépendent de ceci étant la même chose. En guise de note, 'language =" javascript "' est obsolète, vous devriez utiliser 'type =" text/javascript "' à la place. –

+1

Cela n'a pas de sens, si la commande est correcte (script personnalisé AFTER jQuery) vous ne devriez pas avoir de problèmes. – Marko

+0

Je m'excuse pour la désinformation. Je ne recevais plus l'erreur et lier le gestionnaire d'événements à document.ready a corrigé mon problème – TeeOh

Répondre

1

Avez-vous lié le gestionnaire d'événements de global.js à document ready?

+0

C'est un problème complètement différent, son problème est $ n'étant pas défini. $ (document) .ready() lancerait toujours "$ n'est pas défini". – Marko

+0

Je me rends compte de cela et cela n'a pas de sens pour moi, mais en raison du manque d'information c'est ce que je conseillerais jusqu'à ce qu'il poste plus. –

+0

Cela a corrigé mon problème (voir Modifier). Merci pour l'aide! – TeeOh

Questions connexes