我正在试图找出为什么我的keyup事件没有被触发。我创建了一个UpperCaseTextField(在Sencha Architect内部)并以一种形式(链接)使用它。
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
配置应该有效?
答案 0 :(得分:6)
您需要为文本字段启用关键事件:
enableKeyEvents: true
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.field.Text-cfg-enableKeyEvents