如何在ExtJS 4.2中聚焦工具栏的按钮

How to toolbar`s button to be focused in ExtJS 4.2?

本文关键字:聚焦 工具栏 按钮 ExtJS      更新时间:2023-09-26

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

Ext.FocusManager.enable(true);

该怎么办才能解决这个问题?

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
});