我有一个非常标准的登录表单,结构如下:
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) //...
}
});
init
和onButton
功能正常运行。但是,我的specialKey onKey
函数似乎与视图没有关联。我试过了"#idLogin form > *"
,"#idLogin form > textfield"
,或只是"#idLogin form"
没有人工作,我不确定原因。请帮忙?
答案 0 :(得分:5)
我认为这些事件区分大小写,它是specialkey
,其中K为小写http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.form.field.Base-event-specialkey。你想要每个表格领域顺便说一下吗?因为您可以像这样使用听众:#idLogin form [isFormField]
来获取表单中的所有表单字段。