2010-12-09 7 views
0

J'utilise Jquery mobile framework. J'ai 2 fichiers html qui a deux boutons chacun. Le clic sur un bouton va naviguer vers un autre fichier html. Javascript chargé dans chaque fichier html gérera un événement click dans les fichiers HTML. Problème ici est, .JS chargé à partir du deuxième fichier html qui est navigué à partir du premier fichier html n'a pas pu être appelé. Il montre une erreur.Le fichier .Js n'a pas pu être appelé à partir du fichier html lié - JQuery mobile

Erreur: p.attr ("href") est définie Source fichier:: ///Users/Aspire/Development/JQuery%20Mobile/sample/jquery.mobile-1.0a2.min.js ligne: 96

Qu'est-ce qui ne va pas?

Modifié: test.html

balises html. Sous Headertag

<link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" /> 
    <script src="jquery-1.4.4.min.js"></script> 
    <script src="jquery.mobile-1.0a2.min.js"></script> 
     <script type="text/javascript"> 
     $(function(){ 
      $('#test').click(function(){ 
       alert('This is a general button!'); 
      }); 
     }); 
     </script> 
    <Bodytag> 
    <div data-role="content"> 
    <div data-role="page"> 
     <a id="test" data-role="button" data-inline="true" data-theme="b">Click here</a> 
     <a href="~Development/JQuery Mobile/sample/test2.html" data-role="button" data-inline="true" >Navigate to two</a> 
    </div> 
    </div> 
</Bodytag> 

Dans le second code html. test2.html

html-tags. Sous Headertag

<link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" /> 
    <script src="jquery-1.4.4.min.js"></script> 
    <script src="jquery.mobile-1.0a2.min.js"></script> 
     <script type="text/javascript"> 
     $(function(){ 
      $('#test2').click(function(){ 
       alert('This is a general button!'); 
      }); 
     }); 
     </script> 
    <Bodytag> 
    <div data-role="content"> 
    <div data-role="page"> 
     <a id="test2" data-role="button" data-inline="true" data-theme="b">Click here</a> 
     <a href="~Development/JQuery Mobile/sample/test.html" data-role="button" data-inline="true" >Navigate to two</a> 
    </div> 
    </div> 
</Bodytag> 

Fonctionne correctement lorsque test2.html est ouvert séparément dans le navigateur. Même après être retourné à test.html, il donne la même erreur. javascript n'est pas appelé. C'est une seule fois, le script java fonctionne bien quand .html est lancé pour la première fois. Après la navigation vers une autre page, le script java n'est pas appelé.

+0

Pouvez-vous télécharger la version non-vérifiée, puis nous envoyer un peu de votre code + la ligne sur laquelle il échoue? Parce que dès maintenant, nous ne pouvons pas vous aider. –

Répondre

0

J'ai rencontré le même problème, le javascript en second html ne fonctionne pas. J'ai travaillé autour du problème en ajoutant rel = "external" pour forcer le déchargement. dire

<a href="test2.html?" id="test2" data-role="button" data-inline="true" data-theme="b" rel="external">Click here</a> 

Espérons que cela fonctionne pour vous aussi.

+0

merci cela a fonctionné. –

0

La réponse de Clement a aidé, car il n'y avait pas d'appel ajax remplaçant votre lien.

Un lien normal (sans rel = exteral) est recherché avec un appel ajax et seul le corps est pris et ajouté à DOM de la page en cours.

C'est pourquoi votre js ne sera pas appelé.

Tous les js doivent être liés à toutes les pages dans les fichiers externes.

+0

salut, comment le faire? pourriez-vous s'il vous plaît donner quelques échantillons? – Finder

+0

ajoutez simplement '