質問: 皆様いつも御世話になっております。 JQuery・JavaScriptのいづれかで、自画面が閉じられるイベントの察知方法を教えてくださいませんか? この察知を行った中で ``` //親画面で無効化したイメージボタンを有効化 window.opener.$(".cdsrch").prop("disabled", false); ``` を達成したいです。 あるデータ受付用の画面はTableの明細を有しており、その各々1列目にコード検索画面を開くためのボタンを配置しています。この押下をもって子画面イメージのコード検索画面をJSでwindow.openしています。 その際、元画面の全明細の例のボタンをdisableすることで、子画面が2つ以上呼ばれないような工夫を行っています。 子画面側である程度の動作(リストボックスからの選択)が行われれば、当該子画面を閉じると同時に元画面でdisableにしたボタンを再度有効化しているのが現況です。 これ故... 現況は、コード検索の子画面を右上×ボタンで閉じられてしまうと、親画面のdisableにしたボタンが有効に戻っていない!という状態です。 ***PS*** そもそも親画面のJQueryで、子画面が閉じられたら?という察知を図るべきなのでしょうか? その察知方法も分かりませんが.... ご見解を頂けましたら幸いです、よろしくお願い致します。
回答: `unload`イベントが使えると思います。 以下は実装サンプルです。 ``` // 子画面 $(window).on('unload', function() { window.opener.exports.onChildWindowClosed(); }); // 親画面 window.exports = { onChildWindowClosed: function() { $('.cdsrch').prop('disabled', false); } }; ```