1

いくつかのモーダルダイアログを備えたアプリケーションがあります。オーバーレイをクリックすると、それらのダイアログは自動的に閉じます。この動作を防ぎ、特定のボタンをクリックした場合にのみ閉じるようにします。これは正しく機能します。どうすればこれを管理できますか?

オーバーレイは、次のdivで自動的に作成されます。

<div class="ui-widget-overlay" 
 style="height: 100%; width: 100%; position: fixed; 
 left: 0px; top: 0px; z-index: 2001; opacity: 0.3;">
</div>

ありがとう

4

4 に答える 4

0

これはどう:

$('.ui-widget-overlay').click(function(e) {
    e.preventDefault();
    return false;
});

それが失敗した場合は、おそらく次のことを試してください。

window.onload = function() {
    $('.ui-widget-overlay').off('click');
}
于 2012-10-03T10:18:01.390 に答える
0

解決策は次のとおりです。

$("#yourmodal").dialog({
  closeOnEscape: false,
  /*This will disable keyboard*/
  resizable: false,
  modal: true,
  show: {
    effect: "fade",
    duration: 100
  },
  open: function() {
    $('.ui-widget-overlay').click(function(e) {
      /*This will disable click and close*/
      e.preventDefault();
      return false;
    });
  },
  close: function() {},
  position: {
    my: "center",
    at: "center",
    collision: "fit"
  }
});

于 2015-03-28T06:38:36.473 に答える