web-dev-qa-db-ja.com

JavaScriptですべてのjqueryダイアログウィンドウを閉じる

JavaScriptですべてのjquery UIダイアログウィンドウを閉じるにはどうすればよいですか?

状況:

このページには、ダイアログボックスを使用して開くことができる複数のものが含まれています。新しいウィンドウを開く前に、以前のウィンドウをすべて閉じる方法が必要です。

40
Matthew Rygiel

彼らはすべて.ui-dialog-contentクラスなので、次のように選択し、閉じます。

$(".ui-dialog-content").dialog("close");
94
Nick Craver

上記に注意してください。ダイアログのcloseメソッドを定義すると、ダイアログが開いていなくても、このメソッドが発生します。これは、Angularプロジェクトで、ダイアログのcloseメソッドで$ apply()を手動で呼び出していたプロジェクトの大きな問題でした。別のイベントは、画面上のすべてのダイアログを閉じようとして、closeメソッドが呼び出されました開いていなくてもダイジェストの問題が発生した。

2
user3899909