2013-02-21 8 views
8

JQuery Mobileサイトでは、ページが読み込まれて5秒後に消えるツールチップのダイアログボックスを追加しました。私のコードは次のようにある。このアップデートはIPhone 5のiOS 6を除き、すべてのデバイスで正常に動作している、JQueryモバイルツールチップのポップアップ( "閉じる")機能が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> 

に従います。上記のスクリプトを使ってJQueryモバイルページをロードしようとしたときに、IPhone 5 iOS 6デバイスは、ポップアップが閉じたときに前のページにリダイレクトされます。私はここで逃したものはわからないが、私のためにはjQuery Mobileのように見える。ポップアップ( "閉じる")機能がサポートしていないIPhone 5 iOS 6。また

ときに我々は、この#&ui-state=dialog

は誰私はどのように我々はこの問題を解決することができます聞かせてもらえ避けることができる方法をURLに追加するハッシュタグテキスト、次のツールチップの負荷?

私は次のコードも試しました。

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

    }); 

しかし、これはすべての

+0

解決しましたか? – Omar

+0

この状況を追及して大変感謝しています。私はすぐにこれを更新します。 –

答えて

14

で動作していないが、それを手に入れました。ポップアップdivにdata-history="false"を追加してください。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

ありがとうございますが、依然として問題は残っています。私のテストファイルをオンラインエミュレータで確認します。テストリンク:http://www.apartmentslanka.com/ztest_calender/zfr/index_a.html**。オンラインエミュレータのリンク:** http://iphonetester.com/** –

+0

更新された回答を確認してください。 – Omar

+0

これは今うまくいっています!そしてもう一度あなたに感謝します。 –

1

またalternatively..jqueryモバイルはDIVたID = "yourpopupid-ポップアップ" とポップアップだから、あなたは、単に非表示にすることができますを囲んでそのdiv。例えば

:( $ '#: <のdivのid = "基本" データ役割= "ポップアップ">私は</div>の 、その後、あなたはでそれを閉じることができますがポップアップしています基本ポップアップ ')。hide();

1

を使用して、2つの関数は、()を非表示にしたり、あなたはボタン私はツールバーメニュー(jQueryのモバイル1.2)のポップアップを使用して、同じ問題に直面している

0

をクリックする上でclose()関数を使用することができます。例:

<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> 

上記のコードはiPhone 5では動作しません(ただし、Android、iPhone4などで動作します)。以下のように変更すると動作します。

<a data-ajax="false" href='item1.html'>Item1</a> 
関連する問題