MVC控制器中的ExtJS specialKey事件

时间:2013-04-22 01:42:19

标签: javascript extjs

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

Window { id: idLogin,  
    Form {
      User Text Field 
      Password Text Field  
      Remember Me Check Box 
    }   
    Login Button 
}

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

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) //...
    }
});

initonButton功能正常运行。但是,我的specialKey onKey函数似乎与视图没有关联。我试过了"#idLogin form > *""#idLogin form > textfield",或只是"#idLogin form"没有人工作,我不确定原因。请帮忙?

1 个答案:

答案 0 :(得分:5)

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