панель инструментов jquerymobile не должна создавать запись в истории

Если вы посмотрите на страницу http://jquerymobile.com/demos/1.2.0/docs/toolbars/bars-fixed.html вы видите панель инструментов с селекторами для Основ, Параметры, Методы. Он загружает разные страницы, поэтому действует как панель навигации на странице.

Однако каждый раз, когда вы нажимаете на одну из этих вещей, она делает запись в вашей истории. Если у вас есть подобная страница с кнопкой data-rel=back или пользователь нажимает кнопку «Назад», вы переходите к предыдущему выбору панели инструментов, в то время как вы ожидаете, что страница полностью исчезнет.

Как я могу иметь такую ​​панель инструментов с тегами привязки, которые не загрязняют историю?

В моем приложении эта панель инструментов представляет собой настройку предпочтений, и в зависимости от настройки станут доступны дополнительные настройки ниже. Поэтому мне нужно иметь возможность нажать [назад] и выйти со страницы настроек.


person bmidgley    schedule 10.10.2012    source источник
comment
Если вы ссылаетесь на элемент data-role="dialog", вы можете запретить jQuery Mobile добавлять навигацию к URL-адресу: jquerymobile.com/demos/1.2.0/docs/pages/page-links.html (см. Примеры ссылок).   -  person Jasper    schedule 10.10.2012
comment
Я пробовал это... но у диалога много багажа, например, рестайлинг, чтобы он выглядел как модальное окно.   -  person bmidgley    schedule 11.10.2012


Ответы (1)


Похоже, что якорные теги не подходят для такого использования. Якоря просто созданы для того, чтобы оставить историю позади. Я переключился на радиокнопки (их можно настроить так, чтобы они выглядели одинаково), а затем я могу показать/скрыть разделы документа в соответствии с тем, какое радио выбрано с помощью обратного вызова.

    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend>Team role:</legend>
            <input type="radio" name="radio-view" id="radio-view-a" value="list" checked/>
            <label for="radio-view-a">Robot</label>
            <input type="radio" name="radio-view" id="radio-view-b" value="grid"  />
            <label for="radio-view-b">Controller</label>
        </fieldset>
    </div>
person bmidgley    schedule 11.10.2012
comment
Привет, я думаю, что это отличное решение. Можете ли вы также поделиться стилями, чтобы группа переключателей выглядела, например, как панель навигации? Спасибо. - person Samik R; 29.12.2012