2009-06-25 7 views
2

J'ai un projet django, mais pour une raison quelconque, jquery de base ne fonctionne pas.django jquery événement prêt ne se déclenche pas

<html> 
    <head> 
     <link href="/site_media/css/poll.css" rel="stylesheet" type="text/css"> 
     <script type="text/javascript" src="/site_media/js/jquery-1.3.2.js" /> 
     <script type="text/javascript"> 
       $(document).ready(function(){ 
        alert('hi there'); 
       }); 
     </script> 
    </head> 

etc ...

Pour une raison quelconque l'événement prêt ne se déclenche pas. Les jquery et css sont tous les deux définitivement présents (firebug le confirme pour moi). Il n'y a pas d'erreurs javascript sur la page. Ai-je quelque chose de totalement évident, ou y at-il quelque chose de subtil dans Django qui nécessite une configuration pour permettre à jQuery de fonctionner avec.

EDIT: En fait, aucun javascript ne fonctionne après l'importation de jquery! Ajout d'un

<script type="text/javascript">alert("hi");</script> 

œuvres si elles sont placées avant l'importation jquery, mais pas après.

+0

Je ne sais pas, ce qui ne va pas, car cela fonctionne parfaitement pour moi. peut-être essayer ceci: vikingosegundo

+0

J'ai eu le même problème, et il m'a fallu un certain temps pour comprendre que le chemin de jquery .js était incorrect. – monkut

Répondre

6

Cela peut être dû à la balise de fin </script> manquante pour la ligne d'inclusion de script jQuery. Par exemple:

<script type="text/javascript" src="/site_media/js/jquery-1.3.2.js"></script> 

Selon la note dans la spécification HTML pour l'élément SCRIPThere, le début et les balises de fin sont nécessaires.

+0

C'était tout! Merci – Daniel

0

Avez-vous défini d'autres blocs de script qui provoquent une erreur, ce qui peut provoquer l'arrêt du système. D'autres choses à essayer sont d'assurer que le HTML vaidates à w3c, exécutez la page dans IE et voir si cela renvoie une erreur que firebug ne fait pas. A défaut, alors pouvez-vous mettre la page en direct et je peux enquêter moi-même?

Si le html est rendu tel que vous l'avez collé, alors django ne peut avoir aucun impact sur le fait que l'événement ready ne se déclenche pas.

0

J'ai fait face au même problème. Placer les scripts vers la fin du corps html résolu le problème.

Questions connexes