扩展JQueryUI对话框

时间:2014-06-13 04:53:07

标签: javascript jquery jquery-ui dialog

我的应用程序有许多对话框,包括消息和各种输入。

主应用程序捕获了许多按键,包括字母字符,我需要在任何对话框打开时禁用这些事件。

目前我有一个保存键盘事件的函数,我调用每个对话框的open事件,还有另一个函数来恢复键盘事件,我在每个对话框的close事件中调用它。

它工作正常,但它意味着很多重复,我还必须记住为任何新对话添加这些功能。

在我看来,可能有一些方法可以连接到一般的对话框代码,这样我就可以为我使用的每个对话框自动调用我的函数。

我以前没有真正扩展JQuery中的任何内容,所以我不确定从哪里开始。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:0)

好的,所以我明白了。这真的很容易,但我会在这里发帖,以防它帮助其他人。

基本上你只是从对话框小部件继承,然后覆盖方法(记住调用原始方法)。这是一个简单的版本,它只是在打开和关闭时记录控制台消息。

$.widget("custom.cDialog", $.ui.dialog, {
    open: function () {
        console.log("open");
        return this._super();
    },
    close: function () {
        console.log("close");
        return this._super();
    }
});

希望能有所帮助。