Мобильная кнопка «Назад» в Dojox

Пожалуйста, помогите, это действительно сводит меня с ума. Я новичок в Javascript и пытаюсь работать с платформой Dojox.mobile...

По сути, то, что я хочу сделать, это иметь кнопку, которая переходит к ‹div›, который находится перед текущим при нажатии. Это должна быть обычная html ‹button› или ‹div›, и не может быть ul, li, заголовком или чем-то подобным, так как он расположен в середине представления, а не сверху или какой-либо границы ( точное местоположение указано в теге стиля). Я попытался реализовать структуру dojo.back, но, похоже, не могу понять, что должно загружаться или что должно идти куда. Я попытался реализовать его с помощью свойства OnClick (именно так я реализую все остальные кнопки, которые перемещаются вперед), но это приводит к полному перекрытию между всеми элементами div. Я попытался реализовать его с помощью свойства moveTo, но я думаю, что это доступно только для элементов ul и li, а не для обычных кнопок или элементов списка (и если они доступны для обычных элементов div, я понятия не имею, как их реализовать).

И я, честно говоря, понятия не имею, что еще я могу сделать, пожалуйста, помогите!


person Cutetare    schedule 08.04.2012    source источник
comment
Некоторый пример кода или тестовый пример помогут понять ваш вопрос.   -  person Andrew Ferrier    schedule 01.06.2012


Ответы (1)


Для dojox.mobile.View существует функция PerformTransition, которая может переключаться с одного представления на другое. Вот краткий пример того, что вы могли бы использовать:

HTML:

<div id="first_view" data-dojo-type="dojox.mobile.View">
    <p>First view you see</p>
    ...
</div>
<div id="second_view" data-dojo-type="dojox.mobile.View">
    <p>Second view</p>
    <button data-dojo-type="dojox.mobile.Button" 
        data-dojo-props='onClick:function(e){goBackToFirstView();}'>
        Back
    </button>
</div>

JavaScript:

function goBackToFirstView () {
    // load the view that should be visible
    var secondView = dijit.registry.byId("second_view");
    // transition slides back one
    secondView.performTransition("first_view", -1, "slide");
}
person raykendo    schedule 25.02.2013