在窗口中关闭一个带有自定义关闭按钮的kendoui窗口

Nul*_*nce 24 javascript c# asp.net-mvc modal-dialog kendo-ui

我使用的剑道UI窗口组件,它是类似于任何模态对话框.

我有一个关闭按钮,如何在单击该按钮时关闭窗口(而不是单击标题栏中的默认"x"按钮)

我的窗口中的内容是从另一个视图加载的

@(Html.Kendo().Window()
           .Name("window")
           .Title("Role")
           .Content("loading...")
           .LoadContentFrom("Create", "RolesPermissions", Model.Role)
           .Modal(true)
           .Width(550)           
           .Height(300)           
           .Draggable()
           .Visible(false)
          )
Run Code Online (Sandbox Code Playgroud)

在同一个观点中,我有

<span id="close" class="btn btn-inverse">Cancel</span>
Run Code Online (Sandbox Code Playgroud)

这是我在主视图中的内容(调用窗口的视图)

$(document).ready(function () {
    var window = $("#window").data("kendoWindow");

    $("#open").click(function (e) {
        window.center();
        window.open();
    });

    $("#close").click(function(e) {
        window.close();
    });
});
Run Code Online (Sandbox Code Playgroud)

Pet*_*bev 31

基本上你已经知道如何关闭窗口 - 你需要使用其API 的close方法来完成它.

$("#window").data("kendoWindow").close();
Run Code Online (Sandbox Code Playgroud)

但是为了将处理程序附加到视图内部的按钮,您需要等到内容加载 - 您需要使用refresh事件.

例如

$('#theWindowId').data().kendoWindow.bind('refresh',function(e){
    var win = this;
    $('#close').click(function(){
         win.close();
    })
})
Run Code Online (Sandbox Code Playgroud)

  • 这段代码在哪里?在主视图的准备就绪功能?我试过了,但是$('#theWindowId').data().kendoWindow是未定义的($('#theWindowId').data()已定义,但不包含kendoWindow) (2认同)