【问题标题】:How to remove close function that is fired on dialog close如何删除在对话框关闭时触发的关闭功能
【发布时间】:2014-04-05 05:19:07
【问题描述】:

我正在初始化一个 jQuery-UI 对话框,其关闭函数定义如下:

$("#msg").dialog({
  width: '390',
  height: '320',
  modal: true,
  autoOpen: false,
  closeOnEscape: false,
  resizable: false,
  close: function (event, ui) { 
    window.location = "http://www.somewere.com"; 
  }
});

这个对话框从很多地方被调用,因为逻辑是在给用户消息后总是重定向,所以我把它放在初始化中。

现在的要求是只更改工作流位于同一页面上的一个逻辑。

如何在打开此对话框之前禁用关闭功能?

【问题讨论】:

标签: javascript jquery jquery-ui jquery-ui-dialog


【解决方案1】:

在关闭函数中写下:

close:function(event, ul){
   $(this).dialog('close');
   return false;
}

【讨论】:

    【解决方案2】:

    我认为你可以这样做:

    $("#msg").dialog({
      width: '390',
      height: '320',
      modal: true,
      autoOpen: false,
      closeOnEscape: false,
      resizable: false,
      close: function (event, ui) { 
        window.location = "http://www.somewere.com"; 
      },
      open: function(){
        this.close = function(){};
      }
    });
    

    虽然close在打开前不会被禁用,打开后会被禁用,但这应该不是问题。

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多