Проверьте, когда я закрываю kendoWindow, нажав на кнопку закрыть - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть окно кендо, и мне нужно забрать его, когда я нажимаю кнопку закрытия в окне кендо, но я не могу забрать событие.

Я должен сделать это особым образом, объясняю я.

У меня есть окно кендо, которое содержит iframe, и этот iframe изменяется в соответствии с некоторыми параметрами. Что мне нужно, это создать подтверждение при загрузке определенного iframe (этот последний завершен), мне просто нужно иметь возможность забрать, когда я нажимаю кнопку закрытия в окне кендо.

Добавить пример кода:

 if (!ventanaNombrePantalla.data("kendoWindow")) {
    ventanaNombrePantalla.kendoWindow({
        width: "300px",
        height: "117px",
        title: "Tittle",
        visible: false,
        modal: true,
        actions: ["Maximize", "Close"],
        resizable: false,
        // <%'Descripción: función que se ejecuta cuando se cierra la ventanaNombrePantalla para ocultar el div pantallaJV
        // 'Inputs:
        // 'Outputs:
        // 'DFPJSCADA0700
        // %>
        close: function (e) {
            //if ($("#ventanaNuevaPantalla").)
            $("#divPantallaJV").hide();
            dialogoAbierto = false;
            var url = $("#ventanaNuevaPantalla").attr('src').split("/")[3];//That is a iframe inside the window.

            if(url == "modalBlockLy.asp"){
                e.preventDefault();
                //Here is where i have the problem. I only want this, when the user do click on close.
                //I close the window, with two ways, with the button [X]
                //and invoing ventanaNombrePantalla.close()

            }

            $("#ventanaNuevaPantalla").attr("src", "");

            //this.content($("#body").hide());
        },
        open: function () {
            //this.content($("#body").show());
        }
    }).data("kendoWindow").center();
}

Другой способ:

$(ventanaNombrePantalla.element).closest('.k-window').find('.k-icon.k-i-close').on("click", function (e) {
    //Here, ventanaNombrePantalla.element is null...
    //debugger;
    e.stopPropagation(); // In case you want to 'prevent' the window closing
});

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Ну, я мог бы добиться этого с помощью этого селектора:

$(wnd.element).closest('.k-window').find('.k-header .k-window-actions a.k-button').on("click", function(e) {

Демо

Проверьте, работает ли он у вас.

0 голосов
/ 30 апреля 2018

Решено! с этим кодом:

$(ventanaNombrePantalla).closest('.k-window').find('.k-icon.k-i-close').closest('a').on("click", function (e) {
        if(!confirm("¿Desea cerrar la ventana?")){
            e.stopPropagation();
            e.preventDefault();
        }
    });
0 голосов
/ 27 апреля 2018

Вы пробовали использовать события окна?

.Events(events => events.Close("myCloseEvent"))

https://demos.telerik.com/aspnet-mvc/window/events

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...