Программно загрузить диалог в jQuery Mobile? - PullRequest
5 голосов
/ 01 сентября 2011

Я пытаюсь создать в jQuery Mobile диалоговые окна, которые появляются при нажатии на маркер Google Maps.

Пример URL-адреса: http://cyclestreets.darkgreener.com/location/ (выделите местоположение в Лондоне, Великобритания, чтобы увидеть маркеры).

У меня есть часть пути с этим кодом:

 google.maps.event.addListener(map_marker, 'click', function() {
     $.mobile.changePage({ url: $("#photo"), data: "id=" + marker.id, type: "GET"}, 'pop', false, true);
 });

Но есть несколько проблем, связанных со стилем и данными:

  1. Появится диалоговое окно в полноэкранном режиме.Есть ли способ сделать его частично-экранным, , как стандартные диалоговые окна jQuery Mobile по умолчанию, и как диалоговые окна About и Prefs на моей домашней странице ?
  2. В заголовке нет закрытой ссылки - опять же, есть в стандартном мобильном диалоговом окне jQuery .Могу ли я убедиться, что это появляется, если не добавить его вручную?
  3. В событии .live() диалогового окна, как я могу получить данные, которые ему передали?

Ответы [ 3 ]

5 голосов
/ 23 ноября 2011
function openPopup(element_id)
{
    $.mobile.changePage(element_id, { transition: "pop", role: "dialog", reverse: false } );
}
1 голос
/ 21 октября 2011

Поскольку beta 1 , чтобы div отображался в виде диалога, используйте атрибут data-role="dialog" в div вместо data-role="page".

0 голосов
/ 17 февраля 2012

Обратите внимание, что в диалоговых окнах jquery требуется наличие содержимого роли данных и заголовочных элементов для правильного применения стиля.Это даст вам полный диалог с кнопкой закрытия в заголовке.

<div data-role="dialog" id="dialog" >
<div data-role="header"><h3>Oops!</h3></div>
<div data-role="content">
    <p>You done screwed up, partner!</p>
</div>

</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...