Używam okna dialogowego interfejsu użytkownika jQuery. Jeśli jest otwarta, chcę zrobić jedną rzecz. Jeśli jest zamknięty, chcę zrobić inny.
Moje pytanie brzmi: jak mogę wykryć, czy okno dialogowe interfejsu użytkownika jQuery jest otwarte, czy nie?
jquery
jquery-ui
jquery-ui-dialog
user208662
źródło
źródło
$("#mydialog").hasClass("ui-dialog-content")
. Zobacz stackoverflow.com/questions/29528706/…Właściwie musisz wyraźnie porównać to z prawdą. Jeśli okno dialogowe jeszcze nie istnieje, nie zwróci false (jak można by się spodziewać), zwróci obiekt DOM.
źródło
Jeśli chcesz sprawdzić, czy okno dialogowe jest otwarte na określonym elemencie, możesz to zrobić:
Lub jeśli chcesz po prostu sprawdzić, czy sam element jest widoczny, możesz zrobić:
Lub...
źródło
$dialog.hasClass('ui-dialog-content')
Okno dialogowe jQuery ma
isOpen
właściwość, której można użyć do sprawdzenia, czy okno dialogowe jQuery jest otwarte, czy nie.Możesz zobaczyć przykład pod tym linkiem: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
źródło
Komentarz Nicka Cravera jest najprostszym sposobem uniknięcia błędu, który pojawia się, jeśli okno dialogowe nie zostało jeszcze zdefiniowane:
Najpierw jednak powinieneś ustawić widoczność w swoim CSS, używając po prostu:
źródło