We are developing a mobile application using jquery mobile and apache cordova. After switching to jquery mobile 1.4.0, we switched to the external panel, but there was a problem with the panel.
There is a simple example of a problem at http://jsfiddle.net/Q58MZ/3/
To reproduce the problem, you must: 1 click on page 1 from the menu link 2 click on page2 from the menu link 3 click on page1 from the menu link 4 click on page 2 from the menu link 5 click the "GO TO PAGE 1" link in the contents
Then the menu will not be open, it will add classes that will be open, but will not open.
Here is a sample code to play it:
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css" />
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js"></script>
<script>
$(document).ready(function() {
$.mobile.defaultPageTransition = 'none';
$("#mypanel").panel();
});
$(document).bind('panelbeforeopen', function(e, data) {
console.log("before open");
});
$(document).bind('panelbeforeclose', function(e, data) {
console.log("before close");
});
</script>
</head>
<body>
<div data-role="panel" id="mypanel">
<a href="#page1">page1</a>
<br />
<a href="#page2">page2</a>
</div>
<div data-role="page" id="page0">
<div data-tap-toggle="false" data-role="header" >
<a href="#mypanel">menu</a>
<h1>PAGE 0</h1>
</div>
<div data-role="content">
PAGE 0
</div>
<div data-tap-toggle="false" data-role="footer" >
</div>
</div>
<div data-role="page" id="page1">
<div data-tap-toggle="false" data-role="header" >
<a href="#mypanel">menu</a>
<h1>PAGE 1</h1>
</div>
<div data-role="content">
PAGE 1
</div>
<div data-tap-toggle="false" data-role="footer" >
</div>
</div>
<div data-role="page" id="page2">
<div data-tap-toggle="false" data-role="header" >
<a href="#mypanel">menu</a>
<h1>PAGE 2</h1>
</div>
<div data-role="content">
PAGE 2
<a href="#page1">GO TO PAGE 1</a>
</div>
<div data-tap-toggle="false" data-role="footer" >
</div>
</div>
</body>
, , , , , . $.mobile.changePage, - pagecontainer, . - , , , .
.