【发布时间】:2013-12-20 18:44:42
【问题描述】:
这是我的网格列
MyColumn3Ui = Ext.extend(Ext.grid.NumberColumn, {
constructor: function(cfg) {
cfg = cfg || {};
MyColumn3Ui.superclass.constructor.call(this, Ext.apply({
dataIndex: 'ID',
header: 'name',
sortable: true,
width: 75,
align: 'right',
id: 'name_col',
editor: {
xtype: 'numberfield',
name: 'ID',
decimalPrecision: 0,
allowDecimals: false,
enableKeyEvents: true,
allowBlank: false,
maxLength: 5,
id: 'col_id'
}
}, cfg));
}
});
这就是我尝试触发 keyup 和 keypress 事件的原因
this.col = Ext.getCmp('col_id');
this.col.blur = blurFun .createDelegate(this, [this.col, 4,""]);
this.col.keyup = keyupFun.createDelegate(this, [this.col, 4,""]);
this.col.keypress = keypressFun .createDelegate(this, [this.col, 4,""]);
blurFun = function(txtField, length, nextField ) {
alert('blur');
}
keyupFun= function(txtField, length, nextField ) {
alert('keyup ');
}
keypressFun = function(txtField, length, nextField ) {
alert('keypress');
}
当我单击名称列时,仅显示 blur 警报。其他事件不会在我的可编辑 ExtJs 网格中触发。我想要在我的网格列中触发 keyup、keypress 事件
【问题讨论】:
-
您必须将“enableKeyEvents:true”配置添加到您的文本字段以绑定键事件。
-
感谢您的帮助,我检查了 enableKeyEvents: true 作为我的新更改代码,它对我不起作用