1

我试图弄清楚为什么我的 keyup 事件没有被触发。我创建了一个 UpperCaseTextField(在 Sencha Architect 中)并在表单中使用它(链接)。

现场示例:http: //jsfiddle.net/wyQUb/

大写文本字段

Ext.define('MyApp.view.UpperCaseTextField', {
    extend: 'Ext.form.field.Text',
    alias: 'widget.uppercasetextfield',

    initComponent: function () {
        var me = this;

        Ext.applyIf(me, {
            listeners: {
                keyup: {
                    fn: me.onTextfieldKeyup,
                    scope: me
                }
            }
        });

        me.callParent(arguments);
    },

    onTextfieldKeyup: function (textfield, e, eOpts) {
        var me = this;
        alert('keyup');
        var upper = me.getValue().toUpperCase();
        me.setValue(upper);
    }

});

我错过了什么或listeners配置应该工作吗?

4

1 回答 1

6

您需要为文本字段启用关键事件:

enableKeyEvents: true

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.field.Text-cfg-enableKeyEvents

于 2013-07-12T16:47:28.660 回答