Domanda

sto utilizzando framework Jquery cellulare. Ho 2 file html che ha due pulsanti ciascuno. Il clic su un pulsante permetterà di navigare ad altri file html. Javascript caricato in ogni file HTML gestirà un evento click nei file HTML. Problema qui è, .JS caricato dal secondo file HTML che viene navigato dal primo file html non poteva essere chiamato. Essa mostra errore.

Errore: p.attr ( "href") è definito
File di origine: file: ///Users/Aspire/Development/JQuery%20Mobile/sample/jquery.mobile-1.0a2.min.js
Linea: 96

Cosa c'è che non va?

A cura: test.html

tag HTML. Sotto 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>

Nella seconda html. Test2.html

tag HTML. Sotto 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>

Funziona bene quando Test2.html si apre separatamente in browser. Anche dopo il ritorno in test.html, dà lo stesso errore. Javascript non è chiamato. vale a dire una sola volta, Javascript funziona bene quando .html viene lanciato per la prima volta. Dopo di navigazione per altra pagina, Javascript non è chiamato.

È stato utile?

Soluzione

ho incontrato lo stesso problema, il javascript in seconda html semplicemente non viene eseguito. Ho lavorato intorno il problema aggiungendo rel = "esterno" alla forza scarico. cioè.

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

Spero che questo funziona anche per te.

Altri suggerimenti

La risposta di Clement ha aiutato, perché non c'era sostituire il vostro collegamento chiamata ajax.

Un link normale (senza rel = exteral) è essere recuperato con chiamata ajax e solo il corpo è preso e aggiunto al DOM della pagina corrente.

Questo è il motivo per cui i tuoi js willnot essere chiamati.

Tutte le js deve essere collegato a tutte le pagine in file esterni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top