2014-06-13 125 views
0

我有一个包含消息和各种输入对话框的应用程序。扩展JQueryUI对话框

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

目前我有一个函数可以保存我在每个对话框打开的事件中调用的键盘事件,还有一个函数可以恢复我在每个对话框的关闭事件中调用的键盘事件。

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

在我看来,可能有一些方法挂钩到一般的对话框代码中,以便我可以自动为我使用的每个对话框调用我的函数。

我还没有真正在JQuery中扩展任何东西,所以我不太确定从哪里开始。

有什么建议吗?

谢谢

+1

你可以发布小提琴吗? –

回答

0

好吧,所以我想通了。真的很容易,但我会在这里发帖以防别人帮忙。

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

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

希望能帮助别人。