Двойной щелчок по кнопке «Назад» приводит к тому, что сайт возвращается на две страницы - PullRequest
2 голосов
/ 18 октября 2011

Если у меня есть структура страницы с тремя и более страницами, где p1 ссылается на p2, который ссылается на p3, и я дважды щелкаю по кнопке «Назад» на p3.Это заставит страницу вернуться к p2, а затем мгновенно вернуться к p1.

Есть ли способ предотвратить такое поведение?

Пример кода JSFiddle

1 Ответ

2 голосов
/ 19 октября 2011

Создайте пользовательский атрибут data-clickks и сохраните в нем количество кликов. Когда вы вернетесь назад на страницу, сбросьте счетчик.

Live Пример:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...