jquery - Kendo UI窗口关闭事件: prevent window close

标签 jquery events kendo-ui kendo-window

我们正在为具有各种形式的应用程序创建警告消息。在简单的页面中,这非常简单,我们只需检测表单元素的更改,如果用户想要卸载页面,我们会向他们显示警告消息。

但是...我们在 Kendo Windows 中也有一些表单,问题是如果用户想要关闭窗口,我们需要显示相同的确认消息。这是我们现在的脚本:

$('div:has(div[data-role="window"])').find('a:has(span.k-i-close)').live('click', function (e) {
    if (formHasChanged) {
        alert('pepe');
        return false;
    }
    return true;
});

该脚本的问题在于它不会阻止窗口关闭,关闭事件似乎在我们的警报之前发生。 该解决方案可能有效http://www.kendoui.com/forums/ui/window/new-event-onclosing.aspx ,但我们的窗口是动态创建的。

有人知道如何解决这个问题吗?

提前致谢!

代码是我们想要插入这个剑道之类的解决方法:

var formHasChanged = false;
$('form.withWarningMessage').find('input,select,textarea').live('change', function () {
    formHasChanged = true;
    window.onbeforeunload = function () {
        if (formHasChanged) {
            return confirmWarningMessage;
        }
    };
    $('input:submit').live('click', function () {
        formHasChanged = false;
    });
});

最佳答案

即时创建 Windows 并不重要。如果您可以创建它们,那么您可以绑定(bind)此类处理程序。如果 Alex Gyoshev 分享的代码不好。

您可以像这样绑定(bind)一个处理程序:

$("#window").kendoWindow({
    close:function(e){
        if (!confirm("are you sure?"))
        e.preventDefault();
    }
})

分享有关您的设置的详细信息,应该有一种方法可以将这些方法之一集成到您的案例中。

关于jquery - Kendo UI窗口关闭事件: prevent window close,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14528778/

相关文章:

php - 在即时搜索脚本中使用 PHP 而不是 JSON 作为输出

c# - 从异步任务触发的事件更新 MVVM 绑定(bind)

javascript - KendoUI - 使用底层模型从网格单元读取编辑的数据

javascript - 未捕获对象错误 Kendo 网格读取问题

javascript - jQuery 验证和忽略字段

jQuery 仅 append 一次

jquery - 如何使用 jQuery 生成 TinyURL

Java+DOM : Registering and using modification listeners: tutorials?

c# - 是否可以为带有用户控件或母版页的许多页面创建基本事件处理程序?

input - style-position 设置为输入标签的绝对值。渲染过程中的 kendo-ui datepicker 对象