2013-09-26 3 views
0

Я начинаю по-настоящему ненавидеть JQuery Mobile, но вам приходится выставлять его. Любая помощь с этой проблемой очень ценится!JQuery Mobile Popup действует причудливо

Хорошо, у меня есть стартовая страница, которая просто проверяет несколько вещей и, если все хорошо, она отправляет пользователя на другую страницу. Я не хочу новую страницу для загрузки с помощью AJAX, так что я это сделать:

window.location.href = "main.html"; 

На странице main.html У меня есть Popup на первой странице «» в файле:

<div data-role="page" data-theme="b" id="MenuPage"> 
    <div data-role="content" style="padding: 10px; padding-top:0px;" id="MenuBody"> 
     ...stuff and things... 
    </div> 
    <div data-role="popup" id="TapPanel" data-theme="b" data-add-back-btn="false"> 
     <h3>Navigation</h3> 
     <p>To return to this menu from any other screen, tap the logo shown above.</p> 
    </div> 
</div> 

в JavaScript я устанавливаю всплывающее окно появится при первой загрузке страницы с помощью:

$(function() { 
    setTimeout($("#TapPanel").popup("open", { x: 10, y: 140 }), 1500); 
}); 

проблема заключается в том, что, когда я нажимаю/нажмите в любом месте от этого всплывающего сообщения (которое будет отображаться только в первый раз, в конце концов) его пытается вернуться к странице e, который вызвал этот, который просто открывает его снова - повторное отображение всплывающего окна. Другими словами, я не могу избавиться от всплывающего окна, как только он будет показан. Это просто извратительно! Хуже того, всплывающее окно закрылось просто отлично, и я не знаю, что заставило его начать действовать именно так.

Как вы можете видеть, я попробовал «data-add-back-btn =« false », но это не помогает.

Также я использую jquery-1.10.2 и jquery.mobile-1.3.2. Любая помощь приветствуется.

+1

Добавить 'данных истории = false' приписывать всплывать DIV. Кроме того, вместо '$ (function()' use '$ (document) .on ('pageshow', '#pageid', function() {code});'. – Omar

+0

Спасибо Omar - "data-history = ' ложь ». Сделал это. Хотелось бы, чтобы вы отправили ответ, чтобы я мог дать вам очки! –

+0

Я рад, что я помог :) Я отправил ответ;) – Omar

ответ

3

Чтобы предотвратить всплывающее окно, чтобы изменить URL-адрес после закрытия/скрытия, добавьте атрибут data-history="false" во всплывающее окно. или установить его программно $('#popup').popup({ history: false });.

Ссылка: popup widget API

Смежные вопросы