无法在sencha 2.2.1中创建键盘侦听器

时间:2015-07-21 14:23:08

标签: javascript extjs sencha-touch

我需要在应用程序中基于ExtJs创建键盘导航(sencha 2.2.1)。这是我在Extjs的第二天。

我尝试使用KeyMap,但在我使用的当前版本中缺少它。自2.0.0版本起,Ext.EventManager也被弃用。

所以我尝试了那样:

第一次尝试:

Ext.define('MyApp.view.MyView', {
 ...
initialize: funcion() {
var me = this;
me.callParent();
me.element.on({
 keyup:function() { //isn't work, cuz this event doesn't handle, but tap:func() works.
  console.log();
}
});

第二次尝试:

//in my controller
Ext.define('MyApp.controller.MyController', {
 ...
 init: function() {
  this.control({
   'myViewId': {
     'afterrender':this.keyBinding
    }
  })
},
 keyBinding: function (view, options) {
    debugger;
      Ext.EventManager.on(view.getEl(), 'keyup', function (evt, t, o) {
          console.log("LOGGING EVENT ========================================================================");
      }, this);
}
//but nothing happens

我也试过类似的东西:

Ext.getCmp('myViewId').element.on('keydown', function (f, e) {
       console.log("KEY DOWN==============================================");
    });

但是与关键字相关的事件不会发生

请帮助我,或者只是给我一些建议或代码示例。如何在我的应用中添加关键监听器?

这是我使用的文档:Sencha docs

1 个答案:

答案 0 :(得分:1)

keyup和keydown事件仅对Sencha Touch中的输入字段进行绑定,因为...触摸性质:)移动设备上的键盘并不总是可见。如果您想在同一代码库中同时创建桌面应用和移动应用,请尝试ExtJS 6.0. ~$4300获取启动许可。