2016-06-16 7 views
0

私はこのようにjQueryのUIで定義されたダイアログを持っています。アルター行動

this.dialog = $.dialog({ 
    title: 'Title', 
    open: function() { 
     //do something 
    }, 
    close: function() { 
     //do something else 
    } 
}); 

は、どのように私は私のコードの後の時点でcloseメソッドの動作をオーバーライドすることができますか?

+0

あなたがしたいことを正確に説明する必要があります。クローズは近いです。クローズボタンを押したときに何か他のことをしたいと思います。 –

+0

@LawrenceEdelユーザーが閉じるボタンをクリックしたときに、いくつかの条件に基づいて、実際に呼び出しているかどうかを確認するために、カスタムロジックを適用したい(つまり、閉じる前に確認警告を表示する)。 – marcosh

答えて

2

はい、後でダイアログを閉じるにはdialogcloseイベントを呼び出すことができます。

$('div#dialogbox').on('dialogclose', function(event) { 
    // your code goes here. 
}); 
+0

ダイアログが閉じられたときに呼び出されるイベントハンドラをアタッチします。 –

+0

このアプローチを使用すると、元の 'close'メソッドのコードを呼び出さないようにすることはできますか? – marcosh

0

私はdialogbeforecloseイベントを使用して解決しました。私は、コールバックからfalseを返す場合

this.dialog.on('dialogbeforeclose', function() { 
    // some code 
}); 

close方法が実行されません。