【问题标题】:keyup, keypress event not fire in extjs grd columnkeyup,keypress 事件不会在 extjs grd 列中触发
【发布时间】: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 作为我的新更改代码,它对我不起作用

标签: extjs extjs3


【解决方案1】:

要将事件侦听器添加到组件,请使用on 函数:

this.col.on({
    'blur': function(field) {
        alert('blur');
    },
    scope: this
});

【讨论】:

  • 我可以使用我的代码获得blur 警报,但其他关键事件对我不起作用
  • 因为您的代码已覆盖文本字段的模糊功能。如果你想使用事件监听器(你应该!),使用我建议的代码。您可以对您提到的所有事件使用相同的语法,只需更改事件名称即可。
【解决方案2】:

col 模型没有 keyup 之类的事件。编辑器中的 keyup 事件触发

this.col.keyup = keyupFun.createDelegate(this, [this.col, 4,""]); 

改成

 this.col.editor.keyup = keyupFun.createDelegate(this, [this.col.editor, 4,""]);

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 2011-03-23
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    相关资源
    最近更新 更多