如果jQuery Mobile弹出窗口打开,如何通过jQuery检查?
我可以激活以下jQuery Mobile弹出窗口:
Waiting...
使用jQuery命令:
$(waiting1).popup( '开');
但后来我想以编程方式确认弹出窗口打开,如果没有,则使用IF语句触发警报。 我尝试使用CSS显示属性:
if($(waiting1).css('display')!='block'){ 警报( “错误:不应该看到等待弹出窗口。” ); 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 ); };
假设popup有类popupLogin
if ($.mobile.activePage.find(".popupLogin").parent().hasClass("ui-popup-active")){ aler('popup is open') }
jsfiddle链接: http : //jsfiddle.net/umerqureshi/fuy4Lz5z/
我们可以使用jQuery Mobile Popup互斥锁:
if ($.mobile.popup.active && $.mobile.popup.active.element[0] === $(waiting1)[0]) { alert('popup is opened'); }
这对我有用:
if(!$.mobile.activePage.find(popupID).is(":visible")) $(popupID).popup('close');