2011-03-15 5 views
0

私はjqueryダイアログを使用していますが、現在のダイアログを閉じるための "ok"ボタンを作成する必要がありました。私はオプションでそれを行うことができた:jquery UIダイアログの2つの異なる動作を定義するにはどうすればよいですか?

buttons: {"OK": function() { $(this).dialog("close"); }} 

これまでのところ、とても良い。

元の閉じるボタン(右上隅)はダイアログを閉じてはいけませんが、代わりにダイアログ内のフォーム要素を消去するかどうかを尋ねます(これを行う関数を呼び出します)。 ); OKボタンの動作にも影響するので、これには "beforeClose"を使用できません。

答えて

0

クローズボタンがクリックされたかどうかをキャプチャすることが可能かどうかはわかりません(何も見つかりませんでした。以前はこれを行う必要はありませんでした)。しかし、もう1つの選択肢は、閉じるボタンを完全に隠し、ユーザ自身にボタンを提供することです。このようなもの...

$("#dialog-message").dialog({ 
    modal: true, 
    buttons: { 
     OK: function() { 
      $(this).dialog("close"); 
     }, 
     Close: function() { 
      // Do stuff... 
     } 
    }, 
    beforeClose: function(event, ui) {}, 
    closeOnEscape: false, 
    open: function(event, ui) { 
     // This hides the close button. 
     $(this).parent().children().children('.ui-dialog-titlebar-close').hide(); 
    } 
}); 
+0

答えていただきありがとうございますが、ユーザーが右上にきれいにしないで閉じるボタンを希望していると忘れていました(私に尋ねないでください何で(笑)。文字通り、2つのボタンの振る舞いを逆転させる必要があります。 – Willy

関連する問題