2011-10-18 7 views
2

ページ構造が3つ以上あり、p1がp2にリンクしてp3にリンクし、p3の戻るボタンをダブルクリックします。これにより、ページがp2に戻り、すぐにp1に戻るようになります。戻るボタンをダブルクリックすると、サイトは2ページ分戻されます

このような動作を防ぐ方法はありますか?

JSFiddle example code

+1

これはトリックの質問ですか? p.3で* single * - をクリックしてみましたか? –

+0

ハハ:)問題は、誰かが遅い電話でアプリを実行すると、ボタンを見落としてもう一度クリックすると思うかもしれないということです。それはそれが2ページ戻ってくる原因になります。 – Naning

答えて

2

データ-クリックするカスタム属性を作成し、その中でクリック数を維持します。ページをナビゲートしたら、カウンタをリセットします。

ライブ例:

JS

$('#p3').live('pageshow', function(event, ui) { 
    $('#goBackOne').click(function() { 
     // if 0 (zero) clicks go back 1 
     if($('#goBackOne').attr('data-clicks') == 0) { 
      $('#goBackOne').attr('data-clicks', 1); 
      history.back(-1); 
     } 
    }); 
}); 

$('#p2').live('pageshow', function(event, ui) { 
    // reset to 0 (zero) 
    $('#goBackOne').attr('data-clicks', 0); 
}); 

HTML

<div data-role="page" id="p1"> 
    <a href="#p2" type="button">Go to page 2</a> 
</div> 
<div data-role="page" id="p2"> 
    <a href="#p3" type="button">Go to page 3</a> 
</div> 
<div data-role="page" id="p3"> 
    <a href="#" type="button" id="goBackOne" data-clicks="0">Back</a> 
</div> 
関連する問題