test1.htmlとtest2.htmlの2つのページがあります。これらのページの1つが表示されるたびに、コードを実行したいと思います。
2つのページは次のとおりです。
test1.html:
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test1</title>
<link rel="stylesheet" href="css/jquery.mobile-1.2.0.css" />
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.2.0.js"></script>
</head><body>
<div data-role="page" id="test1">
<div data-role="content">
<a href="test2.html" data-role="button">jump to test2</a>
</div>
</div>
<script type="text/javascript">
$(document).on('pageshow', '#test1', function (data) {
alert('pageshow test1');
});
</script>
</body></html>
test2.html:
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test1</title>
<link rel="stylesheet" href="css/jquery.mobile-1.2.0.css" />
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.2.0.js"></script>
</head><body>
<div data-role="page" id="test2">
<div data-role="content">
<a href="test1.html" data-role="button">jump to test1</a>
</div>
</div>
<script type="text/javascript">
$(document).on('pageshow', '#test2', function (data) {
alert('pageshow test2');
});
</script>
</body></html>
test1.htmlから始めると、test1に対してのみ(また、test1.htmlに戻るたびに)アラートが表示されますが、test2.htmlに対してはアラートが表示されません。
必要なのは、ページごとに異なるショーハンドラーです。