Javascript 销毁jquery模式
我有一个模态窗口,当你第一次点击它时,它工作得很好,但是如果你关闭它并尝试点击链接再次触发它,它似乎在代码中创建了一个全新的模态对话框 这是一个问题,因为现在我有两个。我要么想办法阻止这种情况发生(只需在同一个对话框中隐藏/显示),要么在关闭时销毁它 我尝试了销毁路径,我看到了一些非常有用的方法,但我似乎无法让我的代码正常工作。以下是我目前的代码: 模态与Javascript 销毁jquery模式,javascript,jquery,twitter-bootstrap,asp.net-mvc-4,modal-dialog,Javascript,Jquery,Twitter Bootstrap,Asp.net Mvc 4,Modal Dialog,我有一个模态窗口,当你第一次点击它时,它工作得很好,但是如果你关闭它并尝试点击链接再次触发它,它似乎在代码中创建了一个全新的模态对话框 这是一个问题,因为现在我有两个。我要么想办法阻止这种情况发生(只需在同一个对话框中隐藏/显示),要么在关闭时销毁它 我尝试了销毁路径,我看到了一些非常有用的方法,但我似乎无法让我的代码正常工作。以下是我目前的代码: 模态与Actionlink @Html.ActionLink("Send Email", "SendErrorEmail", "Support",
Actionlink
@Html.ActionLink("Send Email", "SendErrorEmail", "Support", new { id = Model.jcode },
new { @class = "openDialog btn btn-inverse", data_dialog_id = "sendErrorDialog", data_dialog_title = "Send Email", @id = "senderror" })
这是我的javascript代码:
$(".openDialog").on("click", function (e) {
e.preventDefault();
$('#loadingdiv').show();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this).attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
modal: true,
draggable: true,
resizable: false,
width: modalwidth,
dialogClass: "popup1"
})
.load(this.href, function () {
$('#loadingdiv').hide();
})
});
$(.openDialog”)。在(“单击”上,函数(e){
e、 预防默认值();
$('#loadingdiv').show();
$("")
.addClass(“对话框”)
.attr(“id”,$(此).attr(“数据对话框id”))
.附件(“正文”)
.对话({
标题:$(this.attr(“数据对话框标题”),
莫代尔:是的,
真的,
可调整大小:false,
宽度:modalwidth,
dialogClass:“popup1”
})
.load(this.href,函数(){
$('#loadingdiv').hide();
})
});
我知道我需要在上添加类似于
的内容。(“隐藏”…
,但我似乎无法让它工作。这就是破坏对话框的方式:
$( ".selector" ).dialog( "destroy" );
这是打开现有对话框的方式,无需销毁:
$( ".selector" ).dialog( "open" );
如果要检查该div是否位于对话框中,可以使用以下方法:
if ($('#divId').closest('.ui-dialog').length === 0)
// not in a dialog.
谢谢你的帮助。但是,这似乎对我不起作用,因为我仍然不确定在上面的onclick函数中放在哪里。