簡體   English   中英

如果jQuery Mobile彈出窗口打開,如何通過jQuery檢查?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM