Ссылки на jQuery Mobile и Cloudmade Leaflet не работают - PullRequest
2 голосов
/ 16 декабря 2011

Я создал веб-приложение с jQuery Mobile и включил карту с помощью Cloudmade Leaflet. На карте есть маркеры, сгенерированные из координат в базе данных. С каждым маркером есть описание элемента и ссылка, которая отображается во всплывающем окне при нажатии на маркер. Все это работает нормально. Ссылка обращается к файлу php, который запрашивает дополнительную информацию из базы данных об элементе.

Проблема, с которой я столкнулся, заключается в том, что при щелчке по ссылке внутри всплывающего окна вместо использования перехода jQuery для отображения страницы с дополнительной информацией ссылка заставляет браузер открываться и отображать содержимое там.

Я предполагаю, что есть какая-то проблема с jQuery Mobile, который видит ссылку и применяет загрузку и переход ajax при нажатии.

Кто-нибудь знает, возможно ли это и что нужно сделать, чтобы это работало должным образом?

Ответы [ 2 ]

1 голос
/ 24 января 2012

Барри,

, что вам нужно сделать, это включить ссылку '#' на целевую мобильную ссылку jQuery.Например, если у вас есть страница JQM с именем infoPage, например:

<div data-role="page" id="infoPage" data-add-back-btn="true">
  <header data-role="header" data-theme="c">
    <h1>Video tests</h1>
  </header> 
  <div data-role="content">
     This is where more info would appear...
  </div>
</div>

Затем вы можете создать маркер следующим образом:

var popup = new L.Popup();
popup.setLatLng( e.latlng );
popup.setContent( "More <a href='#infoPage'>info</a> here." );
map.openPopup( popup );

Обратите внимание на href = '# infoPage' - вот и всестандартный способ переключения страниц JQM.Надеюсь, что это решит за вас (я только что попробовал здесь, и это работает)

... и на всякий случай, если вы запускаете свое «приложение» как приложение PhoneGap, а не как чистое веб-приложение, нажмите нассылка может заставить PhoneGap запускать контент в браузере, а не оставаться в своем собственном веб-представлении.На этот вопрос ответили где-то еще:

Ссылки на удаленных сайтах JQueryMobile в приложении PhoneGap открывают safari

Что контролирует, открывает ли PhoneGap внешний браузер / Safari?

http://forum.jquery.com/topic/phonegap-jquerymobile-ajax-links-opening-in-browser-window

открыть ссылку в программе PhoneGap

0 голосов
/ 10 января 2012

Я разрабатываю в jQuery Mobile, и по умолчанию мобильная форма jQuery выполняет вызов на сервер через ajax, вам нужно добавить data-ajax="false" следующим образом:

<form action="forms-sample-response.php" method="get" data-ajax="false" class="ui-body ui-body-a ui-corner-all">

Полный пример:

http://jquerymobile.com/demos/1.0/docs/forms/forms-sample.html

...