通过按下按钮模拟单击操作列

时间:2015-02-03 11:12:11

标签: extjs

你好我有一个带有actioncolumn的网格,我想模拟当我按下键盘上的按钮时单击actioncolumn。当我在控制台中按下“Del”时:未捕获的TypeError:无法读取未定义的属性“getEl”。

key: 46,
 fn: function(e) {
 Ext.ComponentQuery.query('bookGrid actioncolumn[action=del-book]')[0].getEl().dom.click();
}

但是当我模仿时点击按钮一切正常:

  {
                        key: 13,
                        fn: function(e) {
                            Ext.ComponentQuery.query('bookcont button[name=createbook]')[0].getEl().dom.click();
                        }
                    },

2 个答案:

答案 0 :(得分:1)

如果你在删除密钥处理程序代码中粘贴一个断点,那么下面的代码在调试器中会显示什么?

Ext.ComponentQuery.query('bookGrid actioncolumn[action=del-book]')

是空的吗?如果是这样,那么组件查询中的选择器就会出现问题。您可以共享网格和操作列的配置吗?

答案 1 :(得分:0)

以编程方式模拟DOM事件通常不是一个好主意(除了测试目的)。所有你可能需要的人工点击是执行一个动作,以执行onclick处理程序的代码。

没有理由不在没有点击模拟的情况下直接调用该函数。