所以,我有一个登录控制器,你可以点击登录鼠标或按Enter键,如下所示:
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'); } });
我意识到当我使用鼠标单击Login按钮时,onButton函数正常工作,button.up()返回Login窗口.
但是,如果我按下Enter键并触发onKey函数来执行fireEvent(‘click’),在这种情况下onButton会启动,但参数按钮与鼠标单击时收到的按钮参数不同!而这次,button.up()函数是未定义的.
问题是,为什么fireEvent(‘click’)给我一个不同的按钮参数?