Использование changeHash
отключит изменение истории, потому что URL не изменится.
Таким образом, если пользователь нажимает / нажимает кнопку закрытия, он будет распространяться на предыдущую страницу, если она есть.
Также это может вызвать проблемы, когда пользователь нажимает кнопку back на мобильном телефоне, поскольку при открытии всплывающего окна не было никаких изменений в истории, он снова вернул бы пользователя на предыдущую страницу закрытие всплывающего окна, что будет некорректным поведением.
Вместо changeHash
, если мы используем transition
, он будет работать как диалог и позволять хэшу изменять историю.
@ Vincentp вы пытались удалить свойство changeHash
из вызова changePage, теперь, когда вы используете transition
?
$("#my-dialog-button").click(function () {
var default_transition = "pop";
$.mobile.changePage("page_containing_the_dialog.html", {
role : 'dialog',
transition: $(this).data('transition') || default_transition
});
return false;
});