1

我看过一些关于这个问题的帖子,但我得到了一个实际的错误,而不是它只是没有打开。窗口在成功功能上成功打开。但是我在关闭它然后尝试重新打开它后收到错误消息。

错误信息

未捕获的类型错误:无法读取未定义的属性“打开”

$(document).ready(function () {
$(".export-pdf").click(function () {
        $.ajax({
            url: "/Home/Save",
            type: "POST",
            data: { source: data },
            success: function (data, textStatus, jqXHR) {
                openEmailWindow();

            }
        });

    });
});

function openEmailWindow() {
    var window = $("#email");
       $("#undo1")
           .bind("click", function () {
               window.data("kendoWindow").open();
           });


    if (!window.data("kendoWindow")) {
        window.kendoWindow({
            width: "600px",
            title: "Subject Property",
            actions: ["Close"],
            deactivate: onDeactivate
        });
    }
    function onDeactivate(e) {
        this.destroy();
        console.log("event :: deactivate");
    }
  }

});

看法

<span  id="undo1" style="margin-left: 865px" class="export-pdf k-button">Print Pdf</span>

  <div id="email"></div>
4

2 回答 2

1

问题是您在 deactivate 处理程序中调用 this.destroy() 从 DOM 中删除小部件 html。

因此,它无法打开,因为它不存在。

http://docs.telerik.com/kendo-ui/api/javascript/ui/window#methods-destroy

于 2015-06-09T17:38:26.593 回答
1

发生此问题是因为您在停用期间破坏了窗口。取而代之的是,您应该使用 close 功能

function onDeactivate(e) {
        this.close();
        console.log("event :: deactivate");
    }

请在此处参考示例小提琴

于 2015-06-09T17:39:00.290 回答