Keine pagechange Ereignis auslösen
In jQuery mobile, versuche ich zu erkennen, dass eine erfolgreiche Seite wechseln zu einer bestimmten Seite. Ich habe den folgenden code, inline auf der Seite die ich laden will.
<script>
$(document).bind( "pagebeforechange", function( e, data ) {
alert("pagebeforechange");
});
$(document).bind( "pagechange", function( e, data ) {
alert("pagechange");
});
$(document).bind( "pagechangefailed", function( e, data ) {
alert("pagechangefailed");
});
$(document).live( "pagebeforechange", function( e, data ) {
alert("pagebeforechange live");
});
$(document).live( "pagechange", function( e, data ) {
alert("pagechange live");
});
$(document).live( "pagechangefailed", function( e, data ) {
alert("pagechangefailed live");
});
</script>
Bekomme ich die entsprechenden Warnungen beim laden der Seite direkt, oder erfrischend, aber nicht beim navigieren aus einem anderen Bereich in der Jquery-Mobile-app.
Seite aufgerufen wird, die "Ihr Auto" - Reiter in der Fußzeile
<div id="footer" data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="index.html">Features</a></li>
<li><a href="about.html">Your Car</a></li>
<li><a href="index.html">Contact</a></li>
</ul>
</div>
</div>
- Wie werden Sie die Auslösung der Seite ändern ? können Sie einige Ihrer code ?
- Gemacht haben, dass mehr explizit in der Frage, danke.
- Haben Sie versucht, pageshow oder pagebeforeshow Seite übergang Veranstaltungen? jQM-Docs: jquerymobile.com/demos/1.0.1/docs/api/events.html
- Ich habe jetzt keine Freude.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würde es funktionieren, um Ihren code in das pageshow-event? Es können, wenn Sie versuchen zu erkennen, die Seite oder Position. So etwas vielleicht:
UPDATE
Nach der Prüfung dieses Szenario ein bisschen mehr und Wiederlesen deiner Frage, ich denke, ich konnte die Ergebnisse reproduzieren.
Diese funktioniert, wie Sie beschrieben und nur feuert Warnungen beim laden der Seite direkt oder bei Aktualisierung der Seite:
Jedoch, wenn ich mich bewege, das javascript direkt in die Seite ein, funktioniert es wie erwartet und feuert alle gebundenen Ereignisse, egal, wie die Seite erreicht wurde:
type="text/jasvascript"
?Wo sind Sie verbindlich zu dieser Veranstaltungen?
Haben, Lesen Sie Folgendes in den Docs http://code.jquery.com/mobile/latest/demos/docs/api/events.html:
Lukas denkt in die richtige Richtung ist: klar, das problem Sie hatte mit dem zu tun hat, wo in der code, der die Bindung stattfindet. Diese wird nachgewiesen durch shanabus.
Jedoch in Ihrem Fall, Sie tun sollten, die dann bindend, wenn Sie jQuery mobile
mobileinit
- Ereignis ausgelöst wird, nichtpageInit
, wie Luke vorgeschlagen wird.Beispiel (feuert auf alle Seiten-ändern von Ereignissen):
So wie im code oben, bewusst sein, dass Handler ausgelöst durch
mobileinit
enthalten sein müssen vor der jQuery mobile<script>
tag.