双击后退按钮会导致网站返回两页

时间:2011-10-18 13:27:29

标签: jquery jquery-mobile back-button

如果我有一个包含三个或更多页面的页面结构,其中p1链接到链接到p3的p2,我双击p3上的后退按钮。这将导致页面返回到p2,然后立即返回到p1。

有没有办法阻止这种行为?

JSFiddle example code

1 个答案:

答案 0 :(得分: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>