jqueryのdialogは、なかなか死なない
下記のダイアログを閉じると、bodyにdivが追加されて残ってしまうが、まあこれはいい。
var dialog = $("<div/>").dialog();
問題は、下記の場合にダイアログを閉じると、bodyにdivが追加されて残ってしまう。(closeでdestroyをしていることが原因ではなく、外部からdestroyしても同じ)
これをdestroyというのは微妙な気がする。
var dialog = $("<div/>").dialog({ close: function(){ $(this).dialog("destroy"); } });
公式Document(Dialog Widget | jQuery UI API Documentation)のdestroyの説明
> Remove the dialog functionality completely. This will return the element back to its pre-init state.
下記のようにすれば、bodyのdivも消えるがなんだかなぁ。
var dialog = $("<div/>").dialog({ close: function(){ $(this).dialog("destroy"); $("#dialog_a").remove(); } }); dialog.attr("id", "dialog_a");
isOpenなんてメソッドがあったりするし、モードレスを想定して作られてるのかも知れないが、なんか使いづらい。