Ext JS - 专注于文本字段不适用于IE中的渲染侦听器

时间:2017-01-20 16:47:36

标签: javascript google-chrome internet-explorer extjs extjs5

我目前在使用Internet Explorer时遇到问题,在页面上渲染文本字段时,关注该元素并不能正常工作。

在Chrome中,当我关注该文本字段并输入要搜索的快捷方式(F2)时,它会搜索网格。但是,此功能在IE中不起作用。任何人都可以提出一个理由或其他方法可以在所有浏览器中使用吗?我不能使用KeyMap组件,因为它会导致屏幕出现毛刺问题。

我用于快捷方式的代码如下:

    xtype : textField,
    fieldLabel : 'Name',
    id : 'customerNameSearch',
    name : 'customerNameSearch',
    listeners : {
       render: function (field) {
          field.focus(); 
          field.el.dom.onkeydown = function (event) {
          if(event.code == "F2") {
             performGridSearch(name)
          }                         
       }
    }

以上代码触发Chrome中的网格搜索,但出于某种原因不是IE。

1 个答案:

答案 0 :(得分:0)

您可以使用ExtJS监听keydown事件,并使用e.getKey()e.getKeyName()在事件处理程序中测试F2键。听众看起来像:

keydown: function (item, e) {
            if (e.getKey() === e.self.F2)
               alert(e.getKeyName());
         }

这应该适用于ExtJS支持的所有浏览器,包括IE。请务必在文本字段中设置enableKeyEvents: true

以下是适用于Chrome和IE11的fiddle