我的问题是,在“内部”数字字段中按回车键时我无法捕捉到任何事件。
我从监听动作事件开始,然后尝试捕捉 keyup 事件并检查键码。这些都不适合我:
xtype: 'numberfield',
cls: 'bordered_input',
label: '',
name: 'value',
itemId: 'stavif_value',
listeners: {
keyup: function(numberfield, e){
if(e.event.keyCode == 13)
console.log('KEYUP CATCHED');
},
action: function(){
console.log('ACTION CATCHED');
}
}
然后我将 numberfield 移动到 form.Panel 中并尝试捕获 beforesubmit 事件:
var form = Ext.create('Ext.form.Panel', {
submitOnAction: true,
items: [
{
xtype: 'fieldset',
items: [
{
xtype: 'numberfield',
cls: 'bordered_input',
label: '',
name: 'hodnota',
itemId: 'stavif_hodnota'
}
],
listeners: {
beforesubmit: function(form, values, options) {
console.log('BEFORESUBMIT inside FIELDSET');
}
}
}
],
listeners: {
beforesubmit: function(form, values, options) {
console.log('BEFORESUBMIT inside form.Panel');
}
}
});
我也把'listeners'放到了fieldset(最初我没有fieldset),只是为了确保我没有遗漏任何东西。然而我没有再次成功。
让我感到困惑的是,当我使用 textfield 而不是 numberfield 时,我能够捕捉到 keyup 和动作事件(虽然不知道 beforesubmit,但没有尝试过)。