在我看来,我有一个按钮,button1,当单击该按钮时,我打开了一个弹出窗口,在该弹出窗口内我有另一个按钮,button2,当单击该按钮时,我需要关闭第一个弹出窗口并打开另一个弹出窗口。 这是我的代码:
//showing the popup form when usr clicked the show time
$(document).on('click', '.ticket', function () {
$('#Popup1').dialog({
autoOpen: true,
width: 900,
height: 600,
resizable: false,
title: 'Popup 1',
modal: true,
open: function (event, ui) {
$(this).load('@Url.Action("GetSeatSelectionPopup", "BuyTickets")');
},
close: function () {
console.log("test");
$(this).dialog("close");
}
});
})
//show prepayment form when button "Proceed to checkout" from seat layout pop up clicks
$(document).on('click', '#proceedToCheckOut', function () {
$("#Popup1").dialog("close"); //close popup1
$('#Popup2').dialog({
autoOpen: true,
width: 900,
height: 600,
resizable: false,
title: 'popup 2',
modal: true,
open: function (event, ui) {
$(this).load('@Url.Action("LoadPrePaymentPopup", "BuyTickets")');
},
close: function () {
$(this).dialog("close");
}
});
})
我的问题是,当我单击按钮1时,弹出窗口1关闭,而没有打开弹出窗口2。 当我使用 firebug 控制台进行检查时,出现以下错误:
递归过多 ret = 计算[名称];
popup1 close 函数上的和 console.log("test") 执行了 350 次。 我感觉我的方法是错误的 有谁知道有什么方法可以做到这一点? .将不胜感激所提供的任何帮助。如果您需要任何其他信息来帮助回答此问题,请告诉我
最佳答案
您正在关闭 close event 中的对话框同一对话框的处理程序,这会导致递归。
close( event, ui )Type: dialogclose
Triggered when the dialog is closed.
从 close
处理程序中删除 $(this).dialog("close");
行,一切都会按预期工作。
关于javascript - 弹出关闭不起作用有太多递归 jquery 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27566294/