Ich verwende ein jQuery-UI-Dialogfeld. Wenn es offen ist, möchte ich eine Sache tun. Wenn es geschlossen ist, möchte ich ein anderes machen.
Meine Frage ist, wie erkenne ich, ob ein Dialogfeld für die jQuery-Benutzeroberfläche geöffnet ist oder nicht?
jquery
jquery-ui
jquery-ui-dialog
user208662
quelle
quelle
$("#mydialog").hasClass("ui-dialog-content")
. Siehe stackoverflow.com/questions/29528706/…Eigentlich muss man es explizit mit true vergleichen. Wenn der Dialog noch nicht vorhanden ist, wird nicht false zurückgegeben (wie erwartet), sondern ein DOM-Objekt.
quelle
Wenn Sie überprüfen möchten, ob der Dialog für ein bestimmtes Element geöffnet ist, können Sie Folgendes tun:
Oder wenn Sie nur überprüfen möchten, ob das Element selbst sichtbar ist, können Sie Folgendes tun:
Oder...
quelle
$dialog.hasClass('ui-dialog-content')
Das jQuery-Dialogfeld verfügt über eine
isOpen
Eigenschaft, mit der überprüft werden kann, ob ein jQuery-Dialogfeld geöffnet ist oder nicht.Sie können ein Beispiel unter diesem Link sehen: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
quelle
Der Kommentar von Nick Craver ist der einfachste, um den Fehler zu vermeiden, der auftritt, wenn der Dialog noch nicht definiert wurde:
Sie sollten jedoch zuerst die Sichtbarkeit in Ihrem CSS festlegen, indem Sie einfach Folgendes verwenden:
quelle