无法从剑道窗口的内容关闭窗口

Unable to close window from its content in Kendo Window

本文关键字:窗口      更新时间:2023-09-26

根据这个页面,我所要做的就是从窗口的内容调用以下代码,因为我没有使用iframe:

$(buttonInsideWindow).closest(".k-window-content").data("kendoWindow").close();

它不工作。当我尝试从控制台中手动关闭此窗口时,当您尝试检索kendoWindow时,它返回null。(也就是说,当调用$(buttonInsideWindow).closest(".k-window-content")时,它返回正确的div,但其上的.data("kendoWindow")返回null)。

我在窗口内容中使用一个自定义按钮,手动调用关闭事件。下面是我首先调用窗口的方式:

function otherCusLogInWindow_Open() 
{
    var otherCusLogInWindow = $("#otherCusLogInWindow");
    otherCusLogInWindow.kendoWindow({
        width: "535px",
        height: "850px",
        title: "ASDF",
        modal: true,
        actions: ["Minimize", "Maximize", "Close"],
        content: "otherCusLogIn.jsp",
        iframe: false,
        visible: false,
        draggable: true,
        resizable: true
    }).data("kendoWindow").center().open();
}

而在窗口内容内,关闭事件是微不足道的:

function closeWindow(parentFuncCall) {
    $("#otherCusLogInWindow").closest(".k-window-content").data("kendoWindow").close();
}

只是为了摆脱这种方式,我不能使用iframe的其他原因。我需要让它在当前状态下工作。

我该如何解决这个问题?

试试这个:

$("#otherCusLogInWindow").data("kendoWindow").close();

下面是获取客户端对象引用的文档:http://docs.kendoui.com/getting-started/web/window/overview#accessing-an-existing-window

当您的内容页返回一个视图,而不是部分视图,那么可能会遇到这个问题,因为您的内容页有jquery.js的新引用。所以jquery数据方法不起作用

window.parent.$("#otherCusLogInWindow").data("kendoWindow").close() 

需要注意的一件事是,如果您可以关闭窗口,当它是一个iframe,但窗口引用为空,否则,您可能正在导入一个额外的jquery引用。第二个jquery引用的作用域与创建剑道窗口的第一个不同。