在我的网页上,我有一个打开模式jQuery对话框的按钮。当单击按钮时运行的代码如下:jQuery UI对话框不会关闭
$('#main-onoffline-container').append('<div id="dialog-modal-a"></div>');
$("#dialog-modal-a").dialog({
title:'Add Tags'
, autoOpen: false
, modal: true
, height: 540
, width:700
, close: function (ev, ui) { alert('closing'); }
,open: function() {
$("#dialog-modal-a").html('Some html will go here')
}
});
$("#dialog-modal-a").dialog("open");
正如你所看到的,我加入一个div到DOM,然后调用对新添加的格对话框方法。
对话框打开并显示html和X关闭按钮。但是,当我点击X按钮关闭对话框时,它不会关闭。控制台从jquery-1.6.4.min.js中显示以下错误:
Uncaught RangeError: Maximum call stack size exceeded
任何人都知道问题是什么?
UPDATE: 我已经发现,某些JS库的顺序影响这个冗长的会议后:
如果我包括文件如下则将出现问题:
<script src="../../Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.7.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
如果我包括如下文件然后问题消失:
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.7.min.js" type="text/javascript"></script>
这似乎真奇怪 - 我认为你应该在文件的顶部包含核心jQuery的东西吗?
(该验证LIB是乔恩Zaefferer插件)
我提出一个不同的问题借此向前:jQuery library include order causes error
这是您在该页面上唯一的代码吗?这可能与此无关,看起来浏览器内存不知何故。 –
我有大量的其他代码在页面上运行,有很多Javascript对象被创建和操作。但是,直到此刻,没有任何事情导致任何控制台错误出现。 – Journeyman
如果你把这段代码拿出来,一切都还好吗?我这样说的原因是因为当前的代码在这个小提琴中工作正常http://jsfiddle.net/BHaEj/13/ –