Jquery-ui .dialog()函数给出了最大调用堆栈大小超出错误

时间:2015-09-11 07:03:55

标签: javascript jquery jquery-ui

我正在尝试使用Jquery-ui .dialog()方法。这是我的功能:

jsPlumb.bind("dblclick", function(c) {

    $( "#dialog-confirm" ).dialog({
      resizable: false,
      width:400,
      height:250,
      modal: true,
      buttons: {
        "Remove Connection": function() {
          jsPlumb.detach(c);
          $( this ).dialog( "close" );
        },
        close: function() {
          $( this ).dialog( "close" );
        }
      }
    });
});

当我点击取消或窗口的X符号时,我得到了Maximum call stack size exceeded error。首先,我在想,也许我的jquery-ui文件在某种程度上是错误的,或者与jquery.js等其他文件发生冲突。但是,我也使用$()。tooltip()函数,这也是jquery-ui方法,它工作正常。此外,我的功能不是递归的。那么我该怎么办才能解决我的问题?

当我评论$(this).dialog("close");语句时,我的问题解决但对话框未关闭。

修改

我简化了我的问题。在最简单的形式中,当我单击“X”(窗口的关闭按钮)时,我仍然得到相同的错误:

 jsPlumb.bind("dblclick", function(c) {

        $( "#dialog-confirm" ).dialog({
          resizable: false,
          width:400,
          height:250,
          modal: true    
        });
    });

1 个答案:

答案 0 :(得分:0)

我也得到了这个并通过删除来解决

modal: true,

https://stackoverflow.com/a/33199170/6284848 处找到解决方案