Включение и отключение всплывающей подсказки ExtJS из элементов панели инструментов

#extjs #extjs3

#extjs #extjs3

Вопрос:

В моем toolbar есть checkbox используется для включения и отключения tooltip . Если checkbox установлен флажок, то я должен включить tooltip , и она работает, если нет, то я должен отключить ее, также работающую. После отключения tooltip , когда нажимаете toolbar не на какой-либо элемент в toolbar , тогда также включается.

toogleTooltip является handler из checkbox

 function toggleTooltip() {
    debugger;
    if (Ext.getCmp("msai_tool_tip").checked) {
        Ext.QuickTips.enable();
        while (!Ext.QuickTips.isEnabled())
            Ext.QuickTips.enable();
    } else {
        Ext.QuickTips.disable();
        while (Ext.QuickTips.isEnabled())
            Ext.QuickTips.disable();
    }
}
  

Это мой код для создания панели инструментов:

 Ext.QuickTips.init();
var tb = new Ext.Toolbar({
    id: 'form_menu_bar',
    renderTo: Ext.get('newproducttitle').dom,
    items: [{
        tooltip: {
            text: "Click on this button to generate the template and save it in server.",
            title: "Save",
            xtype: "quicktip"
        },
        iconCls: 'msai_save_template',
        handler: generateTemplate

    }, {
        tooltip: {
            text: "Click on this button to generate the template.",
            title: "Save to clipboard",
            xtype: "quicktip"
        },
        iconCls: 'msai_save_clipboard',
        handler: generateTemplateClipboard
    }]
});
  

Пожалуйста, предложите какое-нибудь решение, чтобы я не показывал tooltip , если пользователь нажимает на панель инструментов не в каком-либо элементе.

Ответ №1:

Пожалуйста, найдите приведенную ниже скрипку, чтобы проверить рабочий пример:https://fiddle.sencha.com/#view/editoramp;fiddle/2c7k

Фрагмент кода:

 Ext.QuickTips.init();

var tb = new Ext.Toolbar({
        renderTo: document.body,
        width: 600,
        height: 100,
        items: [{
            // xtype: 'button', // default for Toolbars, same as 'tbbutton'
            text: 'Button',
            tooltip: 'button'
        }, {
            xtype: 'splitbutton', // same as 'tbsplitbutton'
            text: 'Split Button',
            tooltip: 'Split Button'
        }, {
            xtype: 'checkbox',
            boxLabel: 'enable tooltip',
            checked: true,
            listeners: {
                check: function (checkbox, newValue, oldValue) {
                    if (newValue) {
                        Ext.QuickTips.enable();
                    } else {
                        Ext.QuickTips.disable();
                    }
                }
            }
        }]
    });