web-dev-qa-db-ja.com

jqueryダイアログが開いているかどうかを確認するにはどうすればよいですか?

Jqueryダイアログ(複数あります)が現在開いているかどうかを判断するための一般的なケースソリューションを探しています。試しました:

$(".ui-dialog-content").dialog("isOpen") === true
$(".ui-dialog").dialog("isOpen") == true
$(document).dialog("isOpen") == true
$("*").dialog('isOpen') == true

成功せずに。 「.ui-dialog-content」が機能することを期待していました。そのセレクターで開いているダイアログを閉じることができるようですが、機能しません。

18
lamont

あなたが試すことができます

if($(".ui-dialog").is(":visible")){
//dialog is open
}
30
Rafay

APIドキュメントによると、

$( ".selector" ).dialog( "isOpen" )

ダイアログが開いているかどうかを確認します。この関数はブール値を返します。例えば、

if( $("selector").dialog("isOpen")===true ){
     /*do stuff when dialog is open*/
} else {
     /*do stuff when dialog is closed*/
};
2
Touhid Alam

jQuery UIdailogにはメソッドisOpenがあり、dailogが開いている場合はtrueを返します。ダイアログボックスを開いた要素で呼び出します。

$('.ui-dialog-content').dialog("isOpen");

参照: http://jqueryui.com/demos/dialog/#method-isOpen

2
ShankarSangoli

CSS経由で表示されているかどうかを確認しますか?それが正しいアプローチかどうかはわかりませんが、うまくいくと思います。

$(".ui-dialog").css('display') != "none"
0
thenetimp