Così, ho un controller di accesso, è possibile fare clic il login con il mouse o premere il tasto Invio, in questo modo:ExtJs manualmente sparare evento Click, il pulsante param è diverso da clic del mouse
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');
}
});
mi sono reso conto quando uso il mouse per fare clic sul pulsante Login, la funzione onButton
funziona correttamente, button.up()
mi restituisce l'accesso window
.
Tuttavia, se ho premuto il tasto Invio e spara la funzione onKey
fare fireEvent('click')
, in questo caso i onButton
incendi su ma parametro button
NON lo stesso parametro button
ricevuto quando si fa clic con il mouse! E questa volta, la funzione button.up()
non è definita.
La domanda è: perché fireEvent('click')
mi fornisce un parametro di pulsante diverso?
Grazie: D punto e molto veloce @! – Tom
Siete i benvenuti, sentitevi liberi di accettare. – Patrick
perché non c'è 'button.click()'? – Geo