0

これは初心者の質問です。

ボタンのクリックでjQueryダイアログが開かれたとします。ダイアログはjQueryウィジェットとして実装されています。

(関数 ($) {

  $.widget("myApp.myDialog", {

     _create: fnction() {...} // ダイアログを作成する

     _init: fnction() {...} // ダイアログを開く    
  }))

}(jQuery));

次のようにボタンをクリックすると、このダイアログが開きます。

$('#myButton').bind('click', function() { $(this).myDialog(); });

ここまでは順調ですね。それが理にかなっていることを願っています。

ダイアログを開いたときにそのボタンを無効にし、ダイアログを閉じたときに有効にしたいと思います。ボタンをダイアログウィジェットに渡すにはどうすればよいですか?

4

1 に答える 1

1

を作成しようとしているので、おそらくの 2 番目のパラメーターとしてdialog渡したいので、ダイアログの機能を継承します。$.ui.dialog$.widget

のインスタンスを作成すると、myDialogそこでボタンを有効/無効にすることができます。

(function($) {
    $.widget('myApp.myDialog', $.ui.dialog, {
        
    });
    
    $('.dialog').myDialog({
        open: function() {
            $('#myButton').prop('disabled', true);
        },
        close: function() {
            $('#myButton').prop('disabled', false);
        }            
    });
}(jQuery));

- http://jsfiddle.net/tj_vantoll/v4sYX/

于 2012-07-19T12:16:49.797 に答える