我的应用程序有许多对话框,包括消息和各种输入。
主应用程序捕获了许多按键,包括字母字符,我需要在任何对话框打开时禁用这些事件。
目前我有一个保存键盘事件的函数,我调用每个对话框的open事件,还有另一个函数来恢复键盘事件,我在每个对话框的close事件中调用它。
它工作正常,但它意味着很多重复,我还必须记住为任何新对话添加这些功能。
在我看来,可能有一些方法可以连接到一般的对话框代码,这样我就可以为我使用的每个对话框自动调用我的函数。
我以前没有真正扩展JQuery中的任何内容,所以我不确定从哪里开始。
有什么建议吗?
由于
答案 0 :(得分:0)
好的,所以我明白了。这真的很容易,但我会在这里发帖,以防它帮助其他人。
基本上你只是从对话框小部件继承,然后覆盖方法(记住调用原始方法)。这是一个简单的版本,它只是在打开和关闭时记录控制台消息。
$.widget("custom.cDialog", $.ui.dialog, {
open: function () {
console.log("open");
return this._super();
},
close: function () {
console.log("close");
return this._super();
}
});
希望能有所帮助。