Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 模式面板上的ExtJS放置菜单按钮_Javascript_Extjs_Drop Down Menu_Menu_Panel - Fatal编程技术网

Javascript 模式面板上的ExtJS放置菜单按钮

Javascript 模式面板上的ExtJS放置菜单按钮,javascript,extjs,drop-down-menu,menu,panel,Javascript,Extjs,Drop Down Menu,Menu,Panel,我有一个模态面板,当我按出边界时它会关闭。我想在其上添加按钮菜单,但当我按下任何菜单项时,面板关闭。是否有可能防止按下菜单按钮时面板关闭 代码的某些部分: 面板上的按钮: Ext.define('Plugin.dashboard.component.info.JobInfoView', { extend : 'Ext.panel.Panel', alias : 'widget.job-info-view', .... dockedItems : [ {

我有一个模态面板,当我按出边界时它会关闭。我想在其上添加按钮菜单,但当我按下任何菜单项时,面板关闭。是否有可能防止按下菜单按钮时面板关闭

代码的某些部分:

面板上的按钮:

    Ext.define('Plugin.dashboard.component.info.JobInfoView', {
    extend : 'Ext.panel.Panel',
    alias : 'widget.job-info-view',
....
    dockedItems : [ {
        xtype : 'toolbar',
        dock : 'bottom',
        items : [ {
            itemId : 'job-actions-combo',
            text : '<b> Available job actions</b>',
            width : 200,
            glyph : Glyphs.getGlyph('tree'),
            hidden : true,
            shim:true
            bind:{
                menu : '{jobActionsMenuItms}',
                visible : '{jobHasCommands}'
            }
        }
.....

是否有理由不使用模态
Ext.window.window
而不是
Ext.tip.ToolTip
?工具提示显示在我单击的对象附近,我不需要计算位置。您可以使用组件的
showBy
函数让框架进行计算,在我的情况下,解决方案如何,由于我不想将
工具提示
更改为
窗口
?即使
工具提示
从技术上源自
面板
,我怀疑它是否应该包括
,尤其是像
菜单
这样的交互式项。工具提示通常仅用于显示文本/html。我想有一个解决方案可以解决您的情况,但它需要创建一些自定义重写来处理工具提示上的
mouseout
/
mouseleave
事件。
    showTooltip : function(id) {
        var task = gantt.getTask(id);
        if (!task) {
            return;
        }

        var items ={
            xtype : 'job-info-view',
            jobId : id,
            phase : task.jobPhase
        };

        var list = Ext.Element.select('div[task_id="' + id + '"][class*="gantt_task_line"]', true).elements;

        if (list.length > 0) {
            var cmp = Ext.get(list[0].dom);
            var el = Ext.create('Ext.tip.ToolTip', {
                style : {
                    backgroundColor : 'white'
                },
                maxWidth : null,
                autoHide : false,
                items : items,
                itemId : 'job-info-view-tooltip'
            });
            el.on('hide', function() {
                Ext.defer(function() {
                    el.destroy();
                }, 1);
            });
            el.showBy(cmp);
        }
    },