在EXTJS中为同一选择器使用不同的事件

时间:2015-02-12 19:30:04

标签: extjs extjs4 listener

在网格上我需要监听itemclick和itemkeydown操作,但是当我在控制器中添加它们时,它们都不会被触发。这段代码有什么问题?

如何在网格的组合框编辑器上听按键事件?

http://jsfiddle.net/WRXcw/3/

        'definitiontypeform dtpropertylist': {
            itemclick: this.doSelectPropertyGrid
        },
        'definitiontypeform dtpropertylist': {
            itemkeydown: this.doAddInitial
        },

1 个答案:

答案 0 :(得分:0)

尝试以下

'definitiontypeform dtpropertylist': {
    itemclick: this.doSelectPropertyGrid,
    itemkeydown: this.doAddInitial
},

您可以在同一个选择器中添加要收听的多个事件。

在您的代码中,您将相同的密钥两次添加到控件对象'definitiontypeform dtpropertylist',这会导致不必要的行为。


针对fiddle

中的问题
  

我不能在这里听按键。我有一个jsfiddle示例。如何在网格中的组合框编辑器上听键盘?

为编辑器配置添加一个监听器,用于您感兴趣的事件,例如

listeners: {
    keydown: function(){
        // your code ...
    }
}

不要忘记为组合框启用Keyevents

enableKeyEvents: true

完整的代码应该是

editor: {
        ...
        enableKeyEvents: true,
        listeners: {
            keydown: function(){
                // your code ...
            }
        }
    },