1

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

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但是,我的 specialKeyonKey函数似乎与视图没有关联。我试过"#idLogin form > *", "#idLogin form > textfield",或者只是"#idLogin form"没有工作,我不知道为什么。请帮忙?

4

1 回答 1

5

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

于 2013-04-22T06:41:02.747 回答