jquery - 双击后退按钮会导致网站后退两页

标签 jquery jquery-mobile back-button

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

有什么办法可以防止这种行为吗?

JSFiddle example code

最佳答案

创建自定义数据点击属性并将点击计数保留在其中。当您返回页面时,重置计数器。

实例:

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>

关于jquery - 双击后退按钮会导致网站后退两页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7807961/

相关文章:

javascript - 禁用 SublimeText 在左括号上自动完成

jquery - 添加 Facebook SDK 后加载时间更长

javascript - 使用 Jquery Mobile 检查和取消选中单选按钮

jquery - 标题中的 CSS 水平控件

android - 响应通知后按下后退按钮返回上一屏幕

ios - displayModeButtonItem 实际上做了什么?

html - 点击后退按钮时如何将 <select> 元素更改回默认值?

javascript - Chrome 和 Safari 中的 JQuery 动画错误,在 Firefox 中它按预期工作

jQuery Mobile 日期选择器配置

javascript - 下拉对齐问题?