如何以编程方式在 ExtJS 4 中触发 keydown 事件
Posted
技术标签:
【中文标题】如何以编程方式在 ExtJS 4 中触发 keydown 事件【英文标题】:How to programmatically fire keydown event in ExtJS 4 【发布时间】:2013-05-31 13:33:17 【问题描述】:在 ExtJs 4 中,我如何以编程方式触发“keydown”(或“keypress”)事件(在 TAB 键上)? 我应该想模拟一个 TAB 按键以响应另一个事件。 我试过代码(在这个事件处理程序中):
field.fireEvent('keydown', keyCode: 9)
但它不起作用......
【问题讨论】:
【参考方案1】:我也在寻找解决方案....我有一个数字字段组件和一个弹出式键盘...当我尝试单击键盘弹出式上的键 ('.') 时...我想附加到数字字段(比如当你按'。')......但没有任何反应。我试试这个:
// Ext version 5.1
var field = Ext.getCmp('numberfield-test');
var event = Ext.create('Ext.event.Event',
key: 110 // Want to emulate '.' key
);
// none of the following works
field.fireEvent('keydown', [ field, event ]);
field.fireEvent('keypress', [ field, event ]);
field.fireEvent('keyup', [ field, event ]);
// neither this ones
field.fireEvent('keydown', field, event);
field.fireEvent('keypress', field, event);
field.fireEvent('keyup', field, event);
【讨论】:
Ext.create('Ext.event.Event', keyCode: 110 ) 为我工作【参考方案2】:你可能需要稍微窥探一下你的 DOM(看看里面有什么元素,比如下面例子中的fileInputEl
),但这对我有用:
var uploadField = Ext.getCmp( 'uploadField' );
uploadField.fileInputEl.dom.click();
【讨论】:
以上是关于如何以编程方式在 ExtJS 4 中触发 keydown 事件的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式隐藏 TabPanel 中的 Tab(ExtJS 3)
如何以编程方式在 LibreOffice Calc 中触发 AutoFit / SetOptimalHeight?