【发布时间】:2021-06-28 17:37:26
【问题描述】:
我正在尝试使用 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
});
});
【问题讨论】:
-
你有一些递归的事情正在发生......复制的小提琴将有助于解决这个问题......
-
@GuruprasadRao 如你所见,函数中没有任何递归操作
-
你能在小提琴中创建问题吗?
-
@GuruprasadRao,恕我直言,你为什么要为这么小的一段代码做个小提琴?我问它是因为我以前从未创作过小提琴。
-
@zwlayer 检查您在页面中的引用是否只有一个或多个,如果有多个引用,则有时会发生这种情况。
标签: javascript jquery jquery-ui