[英]How do I check via jQuery if a jQuery Mobile popup is open?
我可以激活以下jQuery Mobile彈出窗口:
<div data-role="popup" id="waiting1" data-overlay-theme="a" data-corners="false" data-tolerance="30,15" data-dismissible="false">
<div class="modalAlert" id="waitingContent">
Waiting...
</div>
</div>
使用jQuery命令:
$(waiting1).popup('open');
但后來我想以編程方式確認彈出窗口打開,如果沒有,則使用IF語句觸發警報。 我嘗試使用CSS顯示屬性:
if ( $(waiting1).css('display') != 'block') { alert( "Error: Waiting popup should not be visible." ); return( -1 ); };
...但作為一個jQuery Mobile彈出窗口,顯然該屬性始終是“阻止”,無論它是否可見。 在IF語句中檢查這個的正確方法是什么? 謝謝你的幫助。
在jQuery Mobile中,類出現時會應用於彈出窗口的容器。 ui-popup-active
當它ui-popup-hidden
時, ui-popup-hidden
隱藏起來。 因此,您可以檢查該類,而不是檢查'block'
或':visible'
:
if ( $(waiting1).parent().hasClass('ui-popup-hidden')) {
alert(
"Error: Waiting popup should not be visible."
);
return( -1 );
};
我們可以使用jQuery Mobile Popup互斥鎖:
if ($.mobile.popup.active && $.mobile.popup.active.element[0] === $(waiting1)[0]) {
alert('popup is opened');
}
假設popup有類popupLogin
if ($.mobile.activePage.find(".popupLogin").parent().hasClass("ui-popup-active")){
alert('popup is open');
}
看到這個jsfiddle: http : //jsfiddle.net/umerqureshi/fuy4Lz5z/
這對我有用:
if(!$.mobile.activePage.find(popupID).is(":visible")) $(popupID).popup('close');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.