Question

J'utilise le cadre mobile Jquery. J'ai 2 fichiers html qui a deux boutons chacune. Le clic sur un bouton pour naviguer dans un autre fichier html. Javascript chargé dans chaque fichier html traitera un événement de clic dans les fichiers HTML. Le problème est ici, .js chargé du second fichier html qui est navigua du premier fichier html ne pouvait pas être appelé. Il indique l'erreur.

  

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 la seconde html. test2.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(){
            $('#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>

Il fonctionne très bien quand test2.html est ouvert séparément dans le navigateur. Même après son retour à test.html, il donne la même erreur. Javascript est pas appelé. dire qu'une seule fois, Javascript fonctionne très bien quand .html est lancé pour la première fois. Après la navigation vers d'autres page Javascript est pas appelé.

Était-ce utile?

La solution

je suis tombé sur le même problème, le javascript deuxième html ne fonctionne tout simplement pas fonctionner. J'ai travaillé autour du problème en ajoutant rel = « external » Décharger force. i.e..

<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.

Autres conseils

La réponse de Clément a aidé, parce qu'il n'y avait pas d'appel ajax remplacement de votre lien.

Un lien normal (sans rel = exteral) est d'être extraite avec appel Ajax et seul le corps est pris et ajouté à DOM de la page en cours.

Voilà pourquoi votre js willnot être appelé.

Tous js doit être lié à toutes les pages dans des fichiers externes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top