0

这是一个菜鸟问题。

假设我jQuery在单击按钮时打开了一个对话框。该对话框被实现为一个jQuery小部件:

(函数($){

  $.widget("myApp.myDialog", {

     _create: fnction() {...} // 创建一个对话框

     _init: fnction() {...} // 打开一个对话框    
  })

}(jQuery));

我在按钮单击时打开此对话框,如下所示:

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

到目前为止,一切都很好。我希望这是有道理的。

现在我想在对话框打开时禁用该按钮,并在对话框关闭时启用它。如何将按钮传递给对话框小部件?

4

1 回答 1

1

由于您要创建一个,因此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 回答