简单的按键不会触发任何监听器

时间:2013-12-13 14:29:38

标签: extjs listener

简单的new-to-sencha问题让我难以忍受了一段时间。我正试图在按键上发生事件。我希望事件绑定在TextField上。我创造了一个小提琴

http://jsfiddle.net/CjyFt/1/

initComponent: function() {
    this.on('click', function() {
        console.log('Clicked'); // doesn't fire either
    });        
}

如果这是一个问题,我已经分别尝试了它们......

...        
enableKeyEvents: true,
listeners : {
    scope: this,
    'keypress' : function(textfield, e) {
        console.log('lovely'); // doesn't fire
    }
}
...

我已经尝试将监听器放在每个父类中,并且我试图绑定不同的事件,而没有任何工作,有人可以看一看,看看它是否显而易见?

1 个答案:

答案 0 :(得分:2)

enableKeyEvents事件(以及相关的配置选项Ext.form.field.Text)在Ext.form.CustomField中定义,但是您要从Ext.form.field.Base扩展您的课程Ext.form.field.Text ,这是Ext.define('Ext.form.CustomField', { extend: 'Ext.form.field.Text', // instead of Ext.form.field.Base ... 的父类,因此没有此事件(请参阅keypress)。

我已经更新了你的小提琴并且工作正常:class hierarchy

我刚刚改变了这个:

{{1}}

按钮上的点击事件对我有用,所以我认为没有问题。