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

6fe3ivhb  于 2023-06-20  发布在  Java
关注(0)|答案(4)|浏览(139)

根据this page,我所要做的就是从窗口的内容调用以下代码,因为我没有使用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();
}

在窗口内容中,close事件是微不足道的:

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

只是为了摆脱这种方式,我不能使用iframe的其他原因。我需要让它在目前的状态下工作。
我该如何解决问题?

bqjvbblv

bqjvbblv1#

试试这个:
$("#otherCusLogInWindow").data("kendoWindow").close();
以下是有关获取客户端对象引用的文档:http://docs.kendoui.com/getting-started/web/window/overview#accessing-an-existing-window

eqqqjvef

eqqqjvef2#

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

vlf7wbxs

vlf7wbxs3#

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

sbtkgmzw4#

需要注意的一点是,如果你可以在窗口是iframe时关闭窗口,但窗口引用为null,那么你可能会导入一个额外的jquery引用。第二个jquery引用的作用域将与创建Kendo窗口的第一个jquery引用的作用域不同。

相关问题