0

私のindex.htmlコードは

<div data-role="page" id="indexPage">
  <ul data-role="listview"> 
    <li>
        <a href="#childrenPage" >
            <h3>TITLE</h3>
        </a>
    </li>
</ul>
</div>

<div data-role="page" id="childrenPage">
    ****content word****
</div>

私のjsコードは

$(document).on("pageinit", function(){
    document.addEventListener("deviceready", function(){            
       document.addEventListener("backbutton", function(){ alert("back") }, false);
             alert("TEST")
    })
});

ページが「indexPage」の場合、戻るボタンの
アラート(「戻る」)とアラート(「テスト」)をタッチ ---> 発火

ページを「childrenPage」に変更した場合、戻るボタンをタッチし
てアラート(「戻る」)--->
アラートを発生させない(「TEST」)--->アラートを発生させる

どうやってやるの?「childrenPage」で戻るボタンイベントが発生することを願っています

4

1 に答える 1

0

このようにしてください

<script type="text/javascript" charset="utf-8">

function onLoad() {
      document.addEventListener("deviceready", onDeviceReady, false);
}

// Cordova is loaded and it is now safe to call Cordova methods
//
function onDeviceReady() {
    // Register the event listener
    document.addEventListener("backbutton", onBackKeyDown, false);
}

// Handle the back button
//
function onBackKeyDown() {
  alert("back");
  var currentPageId = $.mobile.activePage.attr('id');
    if(currentPageId == 'indexPage') {
      alert("TEST");
    } else if(currentPageId == 'childrenPage') {
      $.mobile.changePage("#indexPage", {transition : "slide"});
    }
 }
</script>
<body onload="onLoad()">
<div data-role="page" id="indexPage">
</div>

<div data-role="page" id="childrenPage">
</div>
</body>
于 2012-05-16T11:25:30.957 に答える