Vì vậy, tôi có một bộ điều khiển đăng nhập, bạn có thể bấm vào đăng nhập bằng chuột hoặc bấm phím Enter, như thế này:ExtJs bằng tay bắn sự kiện Click, nút param là khác nhau từ chuột nhấp
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');
}
});
tôi nhận ra khi tôi sử dụng chuột để nhấp vào nút Đăng nhập, chức năng onButton
hoạt động bình thường, button.up()
trả về cho tôi Đăng nhập window
.
Tuy nhiên, nếu tôi ép phím Enter và bắn các onKey
chức năng để làm fireEvent('click')
, trong trường hợp này onButton
cháy lên nhưng tham số button
KHÔNG giống như các tham số button
nhận khi bạn nhấp chuột! Và lần này, hàm button.up()
không xác định.
Câu hỏi là, tại sao fireEvent('click')
cho tôi thông số nút khác?
Cảm ơn bạn: D phát hiện và rất nhanh @! – Tom
Bạn được hoan nghênh, hãy chấp nhận. – Patrick
tại sao không có 'button.click()'? – Geo