jQuery UIダイアログのクローズイベントを停止する方法はありますか?jQuery UIダイアログ - 閉じるイベントをクローズ
私はフォームを持つダイアログモーダルを持っています。ユーザーがダイアログを閉じると、「変更を保存せずに続行しますか?」というメッセージが表示されます。 [はい・いいえ]。 [Yes]ボタンは継続して、ダイアログを閉じます。 [いいえ]ボタンは、閉じるイベントを停止し、ダイアログを開いたままにします。
これは可能ですか?
jQuery UIダイアログのクローズイベントを停止する方法はありますか?jQuery UIダイアログ - 閉じるイベントをクローズ
私はフォームを持つダイアログモーダルを持っています。ユーザーがダイアログを閉じると、「変更を保存せずに続行しますか?」というメッセージが表示されます。 [はい・いいえ]。 [Yes]ボタンは継続して、ダイアログを閉じます。 [いいえ]ボタンは、閉じるイベントを停止し、ダイアログを開いたままにします。
これは可能ですか?
はい、beforeClose
オプションを使用できます。 docsから:
このイベントは、ダイアログが閉じようとするとトリガーされます。 beforeCloseイベントハンドラ(コールバック関数)がfalseを返す場合、closeは防止されます。
コード例
サプライinitオプションとしてbeforeCloseイベントを処理するコールバック関数。
$(".selector").dialog({
beforeClose: function(event, ui) { ... }
});
ジャスティンの答えは、モーダルを表示するために正常に動作します。あなたが閉鎖を解除したい場合は、あなたの関数はそのように、falseを返す必要があります:それは近いいけない場合、ダイアログが閉じて、偽のかどう
$(".selector").dialog({
beforeClose: function(event, ui)
{ return check_if_unsaved_changes(..); }
});
check_if_unsaved_changesはtrueを返す必要があります。
私はこれを前に見ましたが、私が必要としていたものを使うとは思っていませんでした。本当に助けになりました!誰かが好奇心が強いなら '$(ele).dialog(" close ")'はbeforeCloseの値を返します。私はそれが閉じられた後、他の多くの仕事をした機能を持っていたので、ダイアログ( "閉じる")コールもチェック/リターンする必要があった。 – Marie