2012-04-04 4 views
0

Ich verwende JQM 1.1.0 und Cordova 1.5.0.Ereignisse funktionieren nicht, nachdem die Seite zum ersten Mal mit jquery mobile geladen wurde

Ich habe Code wie dieses

<!DOCTYPE HTML> 
<html> 
<head> 
<title>Index Page</title> 

<!-- Adding viewport --> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<meta name="viewport" content="width=device-width, initial-scale=1"> 

<!-- Adding Phonegap scripts --> 
<script type="text/javascript" charset="utf-8" 
src="cordova/cordova-1.5.0.js"></script> 

<!-- Adding jQuery mobile and jQuery scripts & CSS --> 
<script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script> 
<link rel="stylesheet" 
href="jquerymobile/jquery.mobile-1.1.0-rc.1.min.css" /> 
<script type="text/javascript" src="jquery/jquery.validate.min.js"></script> 
<script type="text/javascript" 
src="jquerymobile/jquery.mobile-1.1.0-rc.1.min.js"></script> 
<link rel="stylesheet" href="css/colors.css"> 

<script type="text/javascript"> 

$("#page1").live("pageinit", function(e) { 
console.log("pageinit1"); 
    } 

$("#page2").live("pageinit", function(e) { 
console.log("pageinit2"); 
    } 
</script> 
<body> 
<div data-role="page" id="page1"> 
    <div data-role="header">Page 1</div> 
    <div data-role="content"></div> 
</div> 

<div data-role="page" id="page2"> 
    <div data-role="header">Page 2</div> 
    <div data-role="content"></div> 
</div> 
</body> 

Dieser Code für Android funktioniert prima. Aber in iOS, sobald die Seite geladen wird, wird das pageInit-Ereignis von page1 nicht gefeuert und später, wenn ich Seite2 umstelle, ist alles in Ordnung. Warum passiert das?

Antwort

0

Ich muss nur meine javaScript-Funktionen nach data-role = "page" schreiben, damit es funktioniert ...

1

Ich bin mir nicht so sicher, aber wie ich weiß, Live-Funktion hat sich in JQ1.7.x geändert und jetzt müssen Sie die on() -Funktion verwenden, die kleine Änderungen an der Art hat, wie Sie Ihren Code schreiben ..

+0

+1 für die Info :) –