Ответ 1
В документации это определенно неясно, но есть небольшие намеки на него.
Попробуйте использовать:
$.mobile.back();
Вся документация JQuery Mobile, которую я могу найти о навигации в обратном порядке, предполагает, что я собираюсь сделать это с помощью привязанного тега и предлагаю добавить тэг data-rel="back"
в тег.
Я не перемещаюсь из тега, я смешиваю с PhoneGap, что означает, что я вызываю функции javascript, такие как PhoneGap.something(goForwardOnSuccess,goBackwardsOnFailure);
где
function goFowardOnSuccess()
{
$.mobile.changePage('#next', { transition: 'pop' });
}
function goBackwardOnFailure()
{
$.mobile.changePage(/* I HAVE NO IDEA WHAT GOES HERE */);
}
Одна из основных вещей, для которых я использую такую штуку, - это "Экран" Занято делать что-то в собственном коде, не прикасайтесь ко мне... ", экран" Щелкать экран "с" загружаемым "материалом, а затем закрывать его в функциях завершения.
Тем не менее, я нахожу, когда я пытаюсь сделать это с помощью кнопки на экране, которую я "вставил" на место, я снова возвращаюсь на домашнюю страницу (возвращается два уровня).
Документация безумно расплывчата в том, как перемещаться назад от чистого javascript. Любые подсказки были бы очень приятными.
Заметьте также, что я, как правило, вывожу эти занятые экраны извне, поэтому явное кодирование перехода на экран, который я хочу, на самом деле не вариант.
В документации это определенно неясно, но есть небольшие намеки на него.
Попробуйте использовать:
$.mobile.back();
имеет смысл использовать data-rel="back"
для чего-то подобного:
<a href="#" data-rel="back" ...
но лучше использовать history.back();
внутри javascript code blog i.e
.....
.....
var cId = $(this).val();
// do something with control ID then
.....
.....
goBackParent();
}
function goBackParent(){
history.back();
}
Почему бы просто не использовать data-rel="back"
как атрибут вашей кнопки "Назад", это заставит пользователя вернуться на 1 страницу.
Также эквивалентно history.back()
Вы возвращаетесь "двумя уровнями", потому что если вы плавно сбрасываете changePage с помощью
$.mobile.changePage('#next', { transition: 'pop' });
и опустить все остальные параметры, вы запускаете две функции:
Обычно при регулярном переходе хеш-элемент блокируется, а при обратных переходах переменная должна блокироваться (не уверен здесь...). Таким образом, в вашем случае у вас есть (хотите) hashChange и нежелательный (changePage) переход.
Проверьте JQM docs для параметров, которые вы можете передать в своем вызове changePage или посмотрите в исходном коде 1.0 # 3140 для всех Доступные Варианты. Я бы попробовал также передать changeHash: false или fromHashChange: true в вашем вызове функции и посмотреть, что произойдет.
Если вы хотите копать глубже, вам придется искать ignoreNextHashChange и как его значение изменяется, хотя JQM.
Вызов history.back()
будет выполнен.
Добавить changeHash: true, от которого вы перенаправляете. И затем используйте 'history.back()' или 'history.go(-1)' с вашей текущей страницы. Он вернет вам только 1 страницу.
$.mobile.changePage("yourpage.html",{ transition: "flip", changeHash: true});