2013-07-11 4 views
0

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

Диалог по умолчанию для первой страницы div (кнопка возврата) или # (кнопка x) - мне нужно, чтобы она закрывалась и оставалась на ссылочной странице/div.

Пробовал это:

$('#dialog').live('pagehide', function (e) { 
    $.mobile.changePage("#full-map"); 
}); 

, но я все еще получаю Флик обратно #index перед переходом на # полную карту. Есть ли там, где я могу перехватить функцию закрытия?

я вызвать диалоговое окно, как это так, по нажатию на маркер карты Google:

google.maps.event.addListener(marker, 'click', function() { 
    $.mobile.changePage("#dialog", { 
     transition: "pop", 
     reverse: false, 
     changeHash: false, 
    }); 
}); 
+1

Используйте '.on' вместо' .live' и попробовать этот код на X клик '$ ('# диалоговые'). Диалоговые ('закрыть', fucntion() {$ .mobile.changePage (» # full-map ');}); 'или вы можете просто« $ .mobile.chnsgePage »после нажатия X. – Omar

+0

Спасибо Омару, но это не сработает - все равно возвращается к корневому div. Я изменил changeHash на true, и пока он добавляет запись истории, я получаю нужное диалоговое поведение. На данный момент ... – Nathan

+0

Хорошо, для истории добавьте data-history = false в диалог div. – Omar

ответ

0

Вы отсутствуете роль: диалог? Полный апи here

$.mobile.changePage("#myDialog", { role: "dialog" }); 

Я думаю, что это будет держать сайт от прокрутки назад к главной странице, а также вы можете добавить кнопку и закрыть диалоговое окно с JavaScript вместо того, чтобы полагаться на диалог по умолчанию кнопки закрытия.

$("#myDialog").dialog("close"); 
Смежные вопросы