你好我有一个带有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();
}
},
答案 0 :(得分:1)
如果你在删除密钥处理程序代码中粘贴一个断点,那么下面的代码在调试器中会显示什么?
Ext.ComponentQuery.query('bookGrid actioncolumn[action=del-book]')
是空的吗?如果是这样,那么组件查询中的选择器就会出现问题。您可以共享网格和操作列的配置吗?
答案 1 :(得分:0)
以编程方式模拟DOM事件通常不是一个好主意(除了测试目的)。所有你可能需要的人工点击是执行一个动作,以执行onclick处理程序的代码。
没有理由不在没有点击模拟的情况下直接调用该函数。