我正在使用一个jQuery UI对话框。如果它是打开的,我想做一件事情。如果它是关闭的,我想做另一件事情。
我的问题是,如何检测一个jQuery UI对话框是否打开或关闭?
我正在使用一个jQuery UI对话框。如果它是打开的,我想做一件事情。如果它是关闭的,我想做另一件事情。
我的问题是,如何检测一个jQuery UI对话框是否打开或关闭?
事实上,你必须显式地将其与true进行比较。如果对话框尚不存在,则不会返回false(如您所期望的那样),它将返回一个DOM对象。
if ($('#mydialog').dialog('isOpen') === true) {
// true
} else {
// false
}
如果您想检查特定元素上的对话框是否打开,可以这样做:
if ($('#elem').closest('.ui-dialog').is(':visible')) {
// do something
}
或者,如果你只想检查元素本身是否可见,可以这样做:
if ($('#elem').is(':visible')) {
// do something
}
或者...
if ($('#elem:visible').length) {
// do something
}
$dialog.hasClass('ui-dialog-content')
。 - Sergeyif ($('#elem').is(':visible')) {
// do something
}
但你需要先在CSS中设置可见性,可以使用以下代码:
#elem { display: none; }
jQuery对话框有一个isOpen
属性,可用于检查jQuery对话框是否打开。
您可以在此链接中查看示例: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
$("#mydialog").hasClass("ui-dialog-content")
进行了初始化。请参阅 https://dev59.com/0V0b5IYBdhLWcg3wLOc2 - Autumn Leonard