在聚焦数字字段时,在Android键盘上输入/ Go键

时间:2013-09-16 12:45:56

标签: android extjs sencha-touch-2 enter

我的问题是,在"内部"内部按下回车键时我无法捕捉到任何事件。数字字段。

我通过侦听动作事件开始,然后尝试捕获keyup事件并检查keycode。这些都不适合我:

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');
    }  
}

然后我在form.Panel中移动了numberfield并尝试捕获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');
        }
     }
});

我已经把听众放在'对于fieldset来说也是如此(原来我没有使用fieldset),只是为了确保我没有遗漏任何东西。但是我没有再次成功。

让我感到困惑的是,当我使用textfield而不是numberfield时,我能够捕获keyup和action事件(虽然dunno关于beforesubmit,但没有尝试过)。

1 个答案:

答案 0 :(得分:0)

numberfield有一个特殊的关键事件监听器。尝试

listeners: {
                specialkey: function(field, e){
                    if (e.getKey() == e.ENTER) {
                        console.log('Enter pressed');
                    }
                }
            }