簡體   English   中英

如何重用kendo-ui窗口jquery

[英]how to reuse kendo-ui window jquery

我已經看到了有關此問題的一些帖子,但是我遇到了一個實際錯誤,而不是沒有打開。 該窗口在成功功能上成功打開。 但是,我將其關閉后再嘗試重新打開它時會收到錯誤消息。

錯誤信息

未捕獲的TypeError:無法讀取未定義的屬性“ open”

$(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>

問題是您在停用處理程序中調用this.destroy(),該處理程序從DOM中刪除了小部件html。

因此,由於它不存在而無法打開。

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

之所以發生此問題,是因為您在停用過程中破壞了窗口。 相反,您應該使用關閉功能

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

請在這里參考樣本小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM