MVC控制器中的ExtJS specialKey事件

ExtJS specialKey event in MVC controller

本文关键字:specialKey 事件 ExtJS 控制器 MVC      更新时间:2023-09-26

我有一个非常标准的登录表单,结构像这样:

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"没有工作,我不知道为什么。请帮忙吗?

事件是大小写敏感的我认为,这是specialkey与K小写http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.form.field.Base-event-specialkey。你想要每个表单字段吗?因为您可以像这样设置侦听器:#idLogin form [isFormField]来获取表单中的所有表单字段。