2016-07-06 31 views
3

爲什麼我的關鍵事件在以下示例中不起作用? '模糊'事件的作品,但沒有關鍵事件工作在我的文本字段(我也嘗試'keydown')。爲什麼我的關鍵事件不起作用

我試着在控制器上使用'control'結構,但那也行不通。

Ext.define('Plus.view.MyController', { 
    extend: 'Ext.app.ViewController', 

    alias: 'controller.mycontroller', 
    control: { 
     '#mytextfield': { 
      blur: function() { 
       alert("oink") 
      }, 
      keypress: function() { 
       alert("moo") 
      }, 
      keyup: function() { 
       alert("quack") 
      } 
     } 
    } 
}); 

Ext.define('Plus.view.MainView', { 
    extend: 'Ext.container.Container', 

    items: [{ 
     xtype: 'textfield', 
     id: 'mytextfield', 
     controller: 'mycontroller', 
     listeners: { 
      blur: function() { 
       alert("oink 2") 
      }, 
      keypress : function() { 
       alert("moo 2") 
      }, 
      keyup : function() { 
       alert("quack 2") 
      } 
     } 
    }] 
}); 

Ext.application({ 
    name: 'Plus', 
    autoCreateViewport: 'MainView', 
    launch: function() { 

    } 
}); 

我的小提琴是在這裏:

https://fiddle.sencha.com/#fiddle/1d5d

我失去了一些東西明顯?

回答

6

keypress and keyup這些事件僅在enableKeyEvents設置爲true時觸發。 設置此和您的代碼將工作。我在代碼工作的地方爲你創建了一個fidller。 Fiddle

+0

所以默認情況下,在extJS中沒有鍵事件工作? ...爲什麼?這似乎很奇怪。 –

+0

雅在他們提到的所有三個關鍵事件火災後才設置它真的。它的奇怪。你可以報告給sencha。 – UDID

+0

我猜這可能是出於性能原因,他們關閉默認情況下。 –

相關問題