2012-12-01 11 views
5

Die Frage ist auf den Titel. Dies ist jsfiddle. Dies ist der Code:data-add-back-btn = "true" funktioniert nicht

<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width"> 
<title>Back button test</title> 
<link href="//code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" rel="stylesheet"> 
<script src="//code.jquery.com/jquery-1.8.1.min.js"></script> 
<script src="//code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script> 
</head> 
<body> 
    <div id="home" data-role="page" data-add-back-btn="true"> 
     <div data-role="header"><h1>header</h1></div> 
     <div data-role="content">content</div> 
    </div> 
</body> 
</html> 

Antwort

7

JQM fügt nur auf den Seiten über die erste Ansicht hinaus eine Zurück-Schaltfläche hinzu. Wenn Sie eine andere Seite mit data-add-back-btn="true" hinzufügen wird es zeigen:

<body> 
<!-- --> 
<div id="home" data-role="page" data-add-back-btn="true"> 
    <div data-role="header"><h1>header</h1></div> 
    <div data-role="content"> 
     content <a href="#page2">page2</a> 
    </div> 

</div> 
<div id="page2" data-role="page" data-add-back-btn="true"> 
    <div data-role="header"><h1>Page 2</h1></div> 
    <div data-role="content">Back-button visible</div> 
</div> 
</body> 

http://jsfiddle.net/c2pUt/4/


Hier ist ein Ausschnitt aus jquery-mobile-1.2.0.js (ab Zeile 4800):

// Auto-add back btn on pages beyond first view 
if (o.addBackBtn && role === "header" 
    && $(".ui-page").length > 1 
    && $page.jqmData("url") !== $.mobile.path.stripHash(location.hash) 
    && !leftbtn) { 

    backBtn = $("<a href='javascript:void(0);' class='ui-btn-left' data-" + $.mobile.ns + "rel='back' data-" + $.mobile.ns + "icon='arrow-l'>" + o.backBtnText + "</a>") 
    // If theme is provided, override default inheritance 
    .attr("data-" + $.mobile.ns + "theme", o.backBtnTheme || thisTheme) 
     .prependTo($this); 
} 
+0

Danke! Ich habe das "über den ersten Blick" hinaus vermisst ... Wenn ich also auf der ersten Seite einen Zurück-Button brauche (die Seite kommt von einer vorhergehenden externen Seite), muss ich sie "von Hand" hinzufügen? – MarcoS

+0

@MarcoS Yepp, leider "von Hand", soweit ich weiß ... –

+3

Auch seit jQuery mobile 1.4 sollte dieses Attribut zu [header, not page div] hinzugefügt werden (http://stackoverflow.com/questions/20064843/data-add-back-btn-zeigt-nicht-show-a-back-button) –

Verwandte Themen