1

既存のダイアログプラグインには、モーダルオーバーレイをクリックしたときにダイアログを閉じるオプションがありません。機能を提供するオプションを追加するにはどうすればよいですか?

4

2 に答える 2

1
(function($){
   var _init = $.ui.dialog.prototype._init;
   $.ui.dialog.prototype._init = function(){
        var self = this;
        _init.apply(this,arguments);
        $('.ui-widget-overlay').live('click', function(){
            if (self.options['overlay_close']){
                self.destroy();
            }
        });
    }
})($);
于 2012-06-28T20:48:03.640 に答える
0

自己提供の答えがうまくいったらさらに良いでしょう。

ダイアログの外側をクリックしても応答がありません。これがテスト用の私のjsFiddleです。

何か間違ったことをしているのかもしれませんが、目的の機能を果たしていないようです。

@JamesLinは重要な洞察を提供しました。初期化に新しいオプションを追加する必要がありました。

$("#myDialog").dialog({
    overlay_close:true,
    modal: true
});

jsFiddleも更新されます。

于 2012-06-28T21:15:34.913 に答える