2013-02-21 15 views
8

W mojej witrynie JQuery Mobile dodałem okno dialogowe z podpowiedziami, które otwiera się po załadowaniu strony i znika po 5 sekundach . Mój kod jest podobny do WynikaJQuery - mobilna tool-tip popup ("zamknij") nie działa w IPhone 5

<div data-role="popup" id="popupInfo"> 
    <p>This is a completely basic popup, no options set.<p> 
    </div> 

    <script type="text/javascript"> 
$(document).live('pagechange',function(event){ 
    $('#popupInfo').popup("open") 
     setTimeout(function() { 
     $('#popupInfo').popup("close"); 
     }, 5000); 
    }); 
    </script> 

Ta aktualizacja działa poprawnie we wszystkich urządzeniach z wyjątkiem iPhone 5 iOS 6. Ponieważ kiedy próbowałem załadować moją stronę mobilną JQuery za pomocą powyższego skryptu w urządzeniu IPhone 5 iOS 6, przekierowuję mnie do poprzedniej strony po zamknięciu popup. Nie jestem pewien, co przegapiłem tutaj, ale dla mnie wygląda na to, że jQuery Mobile popup ("close") funkcja nie obsługuje dla iPhone 5 iOS 6.

Również gdy obciążenie narzędzia końcówka hash tag następujący tekst dołączanie do adresu URL w jaki sposób możemy uniknąć tego #&ui-state=dialog

Czy ktoś proszę dać mi znać, jak możemy rozwiązać ten problem?

Próbowałem nawet podążać za kodem;

$(document).on('pagechange',function(event){ 
     $('#popupInfo').popup("open").delay(2000).popup("close"); 

    }); 

Ale to nie działa w ogóle

+0

Masz go rozwiązać? – Omar

+0

Wielkie dzięki za dążenie do tej sytuacji. Zaraz cię poinformuję o tym. –

Odpowiedz

14

Rozumiem. Dodaj data-history="false" do elementu wyskakującego WyskakujĘ ... ca popupBasic.

<!-- Button/works without it --> 
<a href="#popupBasic" data-rel="popup">Open Popup</a> 

<!-- Popup #popupBasic --> 
<div data-role="popup" id="popupBasic" data-history="false"> 
<p>This is a completely basic popup.<p> 
</div> 

JS:

<script type="text/javascript"> 

$(document).live('pagechange',function(){ 
$('#popupBasic').popup("open") 
    setTimeout(function() { 
    $('#popupBasic').popup("close"); 
    }, 5000); 
}); 

</script> 

JSfiddle: Popup

+0

Dzięki za to, ale nadal problem pozostaje. Plase sprawdź mój plik testowy za pomocą emulatora online. Link testowy: ** http: //www.apartmentslanka.com/ztest_calender/zfr/index_a.html**. Link do emulatora online: ** http: //iphonetester.com/** –

+0

Sprawdź zaktualizowaną odpowiedź. – Omar

+0

To teraz działa świetnie! i znowu wielkie dzięki dla ciebie. –

1

także alternatively..jquery mobile otacza wyskakujące okienka z div id = "mający yourpopupid-popup" Więc może po prostu ukryć ten div.

na przykład: < div id = "basic" data-role = "popup"> Jestem pop-up </div> , można go zamknąć przez: $ ('# basic-popup "). hide();

1

Zastosowanie dwie funkcje ukryć() lub użyć ścisłą funkcję() na kliknięcie przycisku

0

Mam w obliczu tego samego problemu w użyciu popup menu na pasku narzędzi (jQuery komórkowy 1,2). Na przykład:

<a href="#popupBasic" data-rel="popup">Open Popup</a> 

<!-- Popup #popupBasic --> 
<div data-role="popup" id="popupBasic" data-history="false"> 
<ul data-role="listview" data-inset="true"> 
<li><a href='item1.html'>Item1</a></li> 
</ul> 
</div> 

Powyższy kod nie działa na telefonie iPhone 5 (ale działa na systemie Android, iPhone4 itp.). Jeśli zmienię to tak jak poniżej, działa.

<a data-ajax="false" href='item1.html'>Item1</a> 
Powiązane problemy