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

Posted

技术标签:

【中文标题】在 EXTJS 中为同一个选择器使用不同的事件【英文标题】:Use different events for same selector in EXTJS 【发布时间】:2015-04-13 16:50:03 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

试试下面的

'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 ...
            
        
    ,

【讨论】:

谢谢你,安迪这是正确的,但现在我有另一个问题,我不能听这里的按键。我有一个 jsfiddle 示例。如何在网格中的组合框编辑器上收听键盘?

以上是关于在 EXTJS 中为同一个选择器使用不同的事件的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 下拉框监听事件日期选择器监听事件实现动态给items添加删除数据

extjs为动态生成的组件绑定事件

Ext JS 4 - 理解 this.control、选择器和事件处理

ExtJS 4.2 - 动态加载日期选择器值 - 新手Q.

如何在android中为不同颜色的按钮重用选择器?

更改 extjs 中的 css 类属性