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