【发布时间】:2013-04-15 06:46:46
【问题描述】:
所以,我有一个登录控制器,你可以用鼠标点击登录或回车键,像这样:
Ext.define('My.controller.Login', {
extend: 'Ext.app.Controller',
init: function(application) {
this.control({
"#idLogin button": {click: this.onButton},
"#idLogin form > *": {specialkey: this.onKey}
});
},
onButton: function(button, e, eOpts) {
var win = button.up('window'); // the login window
//do more stuff...
},
onKey: function (field, el) {
if (el.getKey() == Ext.EventObject.ENTER) //ENTER key performs Login
Ext.getCmp('#idLogin button').fireEvent('click');
}
});
我意识到当我用鼠标点击登录按钮时,onButton 功能正常工作,button.up() 将登录返回给我window。
但是,如果我按下 Enter 键并触发 onKey 函数来执行 fireEvent('click'),在这种情况下,onButton 会触发,但参数 button 与单击时收到的 button 参数不同用鼠标!而这一次,button.up() 函数是未定义的。
问题是,为什么fireEvent('click') 给我一个不同的按钮参数?
【问题讨论】:
标签: javascript extjs