如何删除关闭对话框时触发的关闭函数

时间:2014-04-05 05:19:08

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

我正在初始化一个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"; 
  }
});

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

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

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

2 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

$("#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在打开之前不会被禁用,但在打开后它将被禁用,但这应该不是问题。

答案 1 :(得分:0)

记下内部关闭函数:

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