2014-01-20 79 views
0

我使用的是ExtJS 4.1 MVC,我需要在用户单击Enter按钮后执行一些操作。ExtJS 4,容器上的按键事件

我就是这么做的:

Ext.getDoc().on('keypress', function(event, target) { 
    me._enterKeyHandler(event, target, me); 
}); 

但不知不知何故,我可以在容器使用Ext.util.KeyMap。在Sencha文档中,我发现了一些东西并尝试了,但它对我没有用。

var map = new Ext.util.KeyMap({ 
    // in target I tried: Ext.getCmp('myComponent'), "myComponent", myComponentVar 
    target: "my-element", 
    key: Ext.EventObject.ENTER, 
    fn: function() {alert('enter')} 
}); 

那么,怎样才能使用'document'来监听keyPress事件机器人?请帮助我,请

回答

1

Ext.util.KeyNav适合我。例如,在面板中:

afterRender: function() { 
    this.callParent(arguments); 

    this.keyNav = Ext.create('Ext.util.KeyNav', this.el, { 
     enter: this.onSubmitButton, 
     scope: this 
    }); 
} 

这会将“Enter”键绑定到面板中的onSubmitButton函数。

+0

我试图'的xtype: “面板”, ID: “faqsViewTopInfoMessage”, 听众:{ AfterRender阶段:功能(){ this.keyNav = Ext.create( 'Ext.util.KeyNav',this.el ,{ left:function(e){alert('left');}, enter:function(){alert('e')}, scope:this }); // this.callParent(arguments); } }, '。它不适合我 – Matiishyn