【发布时间】:2013-07-01 13:31:39
【问题描述】:
我有一个面板,我正在使用以下代码进行渲染。
new Ext.Panel({
id: 'textPanel',
height: 1000,
width: 1200,
renderTo: Ext.getBody(),
html:"An HTML fragment, or a DomHelper specification to use as the layout element content. The HTML content is added after the component is rendered, so the document will not contain this HTML at the time the render event is fired. This content is inserted into the body before any configured contentEl is appended."
});
然后我想在按下回车键时监听事件。所以,我正在创建一个 KeyMap 如下...
var map = new Ext.KeyMap(Ext.getCmp('textPanel').body, {
key: Ext.EventObject.ENTER,
fn: onKeyPress,
// handler: onKeyPress,
scope: this
});
但是 onKeyPress 函数没有被调用。
我已经尝试过使用
Ext.getCmp('textPanel').body.dom,
Ext.getCmp('textPanel').el.dom,
Ext.getCmp('textPanel').el
而不是
Ext.getCmp('textPanel').body
没有成功。
如果我在那里使用“文档”,则会调用 onKeyPress 函数。即
var map = new Ext.KeyMap(document, {
key: Ext.EventObject.ENTER,
fn: onKeyPress,
// handler: onKeyPress,
scope: this
});
这很好用,但我不想听整个文档。 我怎样才能只听面板?
【问题讨论】:
-
“听面板”是什么意思?你的面板应该是
TextField吗?在普通的Ext.Panel上听关键事件是没有意义的... -
我的面板正文中有文本。当在面板主体内按下回车键或制表键时,我想做一些事情。
标签: javascript extjs extjs4 keyboard-shortcuts extjs3