通过按钮模拟点击动作列

Emulate click on actioncolumn via press button

您好,我有带操作列的网格,我想在按下键盘上的按钮时模拟点击操作列。当我在控制台中按 "Del" 时:Uncaught TypeError: Cannot read 属性 'getEl' of undefined.

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();
                        }
                    },

如果您在删除键处理程序代码中设置了一个断点,下面这行代码在您的调试器中会显示什么?

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

是空的吗?如果是这样,则组件查询中的选择器有问题。您可以分享您的网格和操作列的配置吗?

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

没有点击模拟,没有理由不能直接调用函数。