jQuery Mobile: data-rel = «back» + data-transition не работает?

Я создал jsfiddle, который позволяет вкладкам использовать панель навигации без изменения хеша URL:http://jsfiddle.net/ryanhaney/eLENj/

1) Если я нажму на ссылку «страница 1» с домашней страницы, а затем нажму кнопку «назад», я получу анимацию обратного слайда, как и ожидалось.

2) Если я нажимаю ссылку «страница 1» на домашней странице, затем нажимаю «страница 2» или «страница 3» (в нижней части панели навигации), затем нажимаю кнопку «назад» .... нет перехода.

Если я буду следовать сценарию № 2 после изменения вызова «$ .mobile.changePage» в javascript jsfiddle для использования перехода, отличного от «none», кнопка «Назад» использует тот же переход.

Как я могу обеспечить переход для элементов с data-rel = "back"?

ПРИМЕЧАНИЕ. В примере с jsfiddle желательно, чтобы выбранные вкладки не попадали в историю переходов. Кнопка «Назад» должна вернуться домой независимо от того, на какой вкладке вы находитесь. Не должно быть никакого перехода между вкладками. Пример jsfiddle уже обеспечивает такое поведение.

 Ryan Haney17 февр. 2012 г., 05:18
Интересно, что оповещение меняет поведение. См. Мое примечание выше, поскольку ваша модификация каким-то образом включила эти вкладки в историю навигации.
 Phill Pafford17 февр. 2012 г., 03:12
 Ryan Haney17 февр. 2012 г., 05:27
Проверьте эту скрипку:jsfiddle.net/ryanhaney/E86M9 который меняет переход на основе HREF. переход: anchor.attr ("href") == "# page-3"? "исчезать": "нет"

Ответы на вопрос(2)

anchor.bind("click", function () {
$.mobile.changePage(anchor.attr("href"), {
    transition: "none",
    changeHash: false
});
return false;

"transition: "none",", Когда я удаляю или изменяю что-либо, он работает так, как вы ожидаете:http://jsfiddle.net/PQsyP/

 Ryan Haney17 февр. 2012 г., 05:47
На самом деле, когда я изменяю переход на «исчезать», если я перехожу из дома на страницу 1 и нажимаю назад, я получаю ожидаемый переход слайдов по умолчанию. Но если я перейду с дома на страницу 1 на страницу 2 и нажму назад, обратный переход исчезнет. Weird.
 Sologoub17 февр. 2012 г., 05:59
Ты прав. Модифицированный jsfiddle для удаления перехода. Теперь слайд по умолчанию также находится на вкладках. Поэкспериментируем с ним, чтобы посмотреть, как его указать на вкладках.
Решение Вопроса

http://jsfiddle.net/E86M9/3/

Пришлось сбросить значение перехода changePage по умолчанию

$("a[data-role=tab]").each(function () {
    var anchor = $(this);
    anchor.bind("click", function () {
        $.mobile.changePage(anchor.attr("href"), {
            transition: "none",
            changeHash: false
        });
        return false;
    });
});

$("div[data-role=page]").bind("pagebeforeshow", function (e, data) {
    $.mobile.silentScroll(0);
    $.mobile.changePage.defaults.transition = 'slide'; // reset default here
});​

HTML

<div id="home" data-role="page">
    <div data-role="header">
        <h1>Home</h1>
    </div>
    <div data-role="content">
        <p>
            <a href="#page-1">Page 1</a>
        </p>
    </div>
</div>

<div id="page-1" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 1</h1>
    </div>
    <div data-role="content">
        <p>Page 1 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid" class="ui-btn-active">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>

<div id="page-2" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 2</h1>
    </div>
    <div data-role="content">
        <p>Page 2 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid" class="ui-btn-active">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>

<div id="page-3" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 3</h1>
    </div>
    <div data-role="content">
        <p>Page 3 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid" class="ui-btn-active">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>​
 Ryan Haney17 февр. 2012 г., 06:27
Помечено как ответ. Я думаю, что это ошибка в способе обработки urlHistory. Спасибо!
 Phill Pafford17 февр. 2012 г., 06:31
добавьте это как ошибку в репозиторий jQM:github.com/jquery/jquery-mobile/issues/3599

Ваш ответ на вопрос