首页 > 解决方案 > ExtJS 3 保持组合框总是展开

问题描述

我目前正在开发一个旧项目ExtJS 3.0.0,无法升级版本。我的目标是使组合框始终打开,以便用户不必单击箭头即可查看选项。

我发现通过覆盖collapse事件侦听器,我可以防止组合框在展开后关闭

   myCombo.addListener(
        'collapse',
        function() { 
            this.expand();
         }
    );

但是,一旦面板被渲染,我就找不到任何以编程方式扩展它的方法。我尝试了specialkeykeypress事件,但我不知道应该如何触发它们。

关于如何实现这一目标的任何想法?

标签: javascriptextjsextjs3

解决方案


按键事件应按以下方式工作,

你可以试试(extjs):

new Ext.form.TextField({
    ...
    enableKeyEvents: true,
    listeners: {
        keyup: function(form, e) {
            alert(e.getKey()); 
            if (e.getKey() == "keyA"){
                  alert("key A has been pressed");
           }
        }
    }
}); 

或尝试(js):

    listen: function () {
        document.addEventListener('keydown', function (key) {
            if (key.keyCode === 87){
          alert("pressed W")
           }
        });

有关键码列表,请访问https://gist.github.com/lbj96347/2567917

更多信息也可以在这里找到https://forum.sencha.com/forum/showthread.php?52786-about-textfield-keypress-event


推荐阅读