MVC控制器中的ExtJS specialKey事件

Tom*_*Tom 1 javascript extjs

我有一个非常标准的登录表单,结构如下:

Window { id: idLogin,  
    Form {
      User Text Field 
      Password Text Field  
      Remember Me Check Box 
    }   
    Login Button 
}
Run Code Online (Sandbox Code Playgroud)

然后,我像这样写了我的控制器:

Ext.define('My.controller.Login', {
    extend: 'Ext.app.Controller',
    //working   
    init: function(application) {
        this.control({
            "#idLogin button":   {click: this.onButton},
            "#idLogin form > *": {specialKey: this.onKey}
        });
    },
    //working
    onButton: function(button, e, eOpts) {
        //...
    },
    //not working
    onKey: function (field, el) {
        if (el.getKey() == Ext.EventObject.ENTER) //...
    }
});
Run Code Online (Sandbox Code Playgroud)

initonButton功能都在工作.但是,我的specialKey onKey函数似乎没有与视图挂钩.我试过"#idLogin form > *","#idLogin form > textfield"或者只是"#idLogin form"没有人工作,我不知道为什么.请帮忙?

Joh*_*est 5

事件是区分大小写的,我认为它specialkey是以小写的http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.form.field.Base-event-specialkey.你想要每个表格领域顺便说一下吗?因为你可以像这样建立你的监听器:#idLogin form [isFormField]获取表单中的所有表单字段.