jquery-ui-dialog
プラグインを使用しています
ダイアログが閉じている状況でページを更新する方法を探しています。
ダイアログからcloseイベントをキャプチャする方法はありますか?
閉じるボタンがクリックされたときにコードを実行できることはわかっていますが、ユーザーがエスケープで閉じることや右上隅のxをカバーしていません。
jquery-ui-dialog
プラグインを使用しています
ダイアログが閉じている状況でページを更新する方法を探しています。
ダイアログからcloseイベントをキャプチャする方法はありますか?
閉じるボタンがクリックされたときにコードを実行できることはわかっていますが、ユーザーがエスケープで閉じることや右上隅のxをカバーしていません。
回答:
私はそれを見つけた!
次のコードを使用して、閉じるイベントをキャッチできます。
$('div#popup_content').on('dialogclose', function(event) {
alert('closed');
});
当然、私はアラートを必要なものに置き換えることができます。
編集: Jquery 1.7以降、bind()はon()になりました
$('div#popup_content')
正しいですか?私のダイアログは次のように開かれていることを念頭に置いて、これを何に置き換えればよいですかjQuery.fn.dialog.open({})
$('body').on('dialogclose', '.ui-dialog', function(){...});
ダイアログを作成するときにもできると思います(私が行ったプロジェクトからコピーしたもの):
dialog = $('#dialog').dialog({
modal: true,
autoOpen: false,
width: 700,
height: 500,
minWidth: 700,
minHeight: 500,
position: ["center", 200],
close: CloseFunction,
overlay: {
opacity: 0.5,
background: "black"
}
});
注意 close: CloseFunction
var CloseFunction = function() { //Do your custom closing stuff here };
overlay
二度持っています。それは必須ではないですか?
Uもこれを試すことができます
$("#dialog").dialog({
autoOpen: false,
resizable: true,
height: 400,
width: 150,
position: 'center',
title: 'Term Sheet',
beforeClose: function(event, ui) {
console.log('Event Fire');
},
modal: true,
buttons: {
"Submit": function () {
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
サンプルのようにオプション「閉じる」を追加し、インライン関数にしたいことを行います
close: function(e){
//do something
}
私があなたが話しているウィンドウのタイプを理解しているなら、(ダイアログウィンドウの)$(window).unload()はあなたに必要なフックを与えませんか?
(そして、私が誤解し、ポップアップブラウザウィンドウではなくCSSを介して作成されたダイアログボックスについて話している場合、そのウィンドウを閉じる方法はすべて、クリックハンドラーを登録できる要素です。)
編集:ああ、CSS経由で作成されたjquery-uiダイアログについて話しているのがわかります。要素のクリックハンドラーをクラスui-dialog-titlebar-closeに登録することで、ウィンドウを閉じるXをフックできます。
もっと便利なのは、おそらくそれをすばやく理解する方法を教えてくれることでしょう。ダイアログを表示しながら、ちょうどオープン放火犯をポップし、点検し、ウィンドウを閉じることができます要素を。それらがどのように定義されているかがすぐにわかり、クリックハンドラーを登録するために必要なものがわかります。
だからあなたの質問に直接答えるには、答えは本当に「いいえ」だと思います-フックできるcloseイベントはありませんが、 "はい"-ダイアログボックスをかなり簡単に閉じて取得するすべての方法をフックできますあなたが欲しいもの。