Определите, открыто ли диалоговое окно пользовательского интерфейса jQuery
Я использую диалоговое окно jQuery UI. Если он открыт, я хочу сделать одну вещь. Если он закрыт, я хочу сделать еще один.
мой вопрос в том, как я могу определить, открыто ли диалоговое окно jQuery UI или нет?
5 ответов:
Если вы читали docs.
$('#mydialog').dialog('isOpen')
этот метод возвращает логическое значение (true или false), а не объект jQuery.
на самом деле, вы должны сравнить его с истинным. Если диалог еще не существует, он не вернет 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 }
диалог jQuery имеет
isOpen
свойство, которое можно использовать для проверки того, открыт ли диалог jQuery.вы можете посмотреть пример по этой ссылке: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html