2016-07-06 100 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

我猜这可能是出于性能原因,他们关闭默认情况下。 –

相关问题