Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ExtJS4.2中突出工具栏按钮?_Javascript_Extjs - Fatal编程技术网

Javascript 如何在ExtJS4.2中突出工具栏按钮?

Javascript 如何在ExtJS4.2中突出工具栏按钮?,javascript,extjs,Javascript,Extjs,ExtJS中有一个应用程序,我正在努力不使用鼠标来管理应用程序。有些事情已经完成了,但我不知道如何使用工具栏按钮。工具栏按钮无法聚焦。尽管在启用了应用程序的Ext.FocusManager中 要解决这个问题需要做什么 var nav3 = Ext.create('Ext.util.KeyNav', Ext.getBody(), { "enter" : function(){ var el = Ext.FocusManager.focuse

ExtJS中有一个应用程序,我正在努力不使用鼠标来管理应用程序。有些事情已经完成了,但我不知道如何使用工具栏按钮。工具栏按钮无法聚焦。尽管在启用了应用程序的Ext.FocusManager中

要解决这个问题需要做什么

var nav3 = Ext.create('Ext.util.KeyNav', Ext.getBody(), {

            "enter" : function(){
                var el = Ext.FocusManager.focusedCmp;
                if( el.getXType() == 'menuToolbar' ){
                    console.log(el.items.items[0]);
                    el.items.items[0].focus();
                }


            },
            scope : this
        });

代码中有几个问题。首先,
Ext.create
接受两个参数,然后传递三个参数。因此,创建的类无法工作

el.items.items[0]
无法工作。而是使用
el.down('button')
告诉您要选择的组件

您的代码可能如下所示

var nav3 = Ext.create('Ext.util.KeyNav', {
    target: Ext.getBody(),
    enter: function(){
        var el = Ext.FocusManager.focusedCmp;
        if( el.getXType() == 'menuToolbar' ){
            console.log(el.down('button')); 
            el.down('button') .focus();
        }
    }, 
    scope: this
});

但是Ext.create和3个参数工作得很好,我从extjs文档“键盘导航”中获得了这段代码。你可以在这里查一下
var nav3 = Ext.create('Ext.util.KeyNav', {
    target: Ext.getBody(),
    enter: function(){
        var el = Ext.FocusManager.focusedCmp;
        if( el.getXType() == 'menuToolbar' ){
            console.log(el.down('button')); 
            el.down('button') .focus();
        }
    }, 
    scope: this
});