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函数中放在哪里。