2015-07-21 50 views
2

我需要在基於ExtJs(sencha 2.2.1)的應用程序中創建鍵盤導航。這是我在Extjs的第二天。無法在sencha中創建鍵盤監聽器2.2.1

我試過使用KeyMap,但是它在當前版本中缺少,我也使用Ext.EventManager從2.0.0版本開始棄用。

所以,我想是這樣的:

第一次嘗試:

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=============================================="); 
    }); 

但事件與機智相關h鍵不會發生

請幫助我,或給我一些建議或代碼示例。我如何在我的應用程序中添加關鍵偵聽器?

這是我用的DOC:Sencha docs

回答

1

KEYUP和keydown事件在移動設備並不總是可見的唯一有約束力的輸入字段煎茶觸摸,因爲......觸摸自然:)鍵盤。如果您想在同一代碼庫上創建桌面和移動應用程序 - 請嘗試ExtJS 6.0. ~$4300獲取啓動許可證。

+0

嗯,我意識到這是不可能在我的情況下,對吧? 並感謝您的回答。 –