【问题标题】:Extjs4 display tooltip for disabled buttonExtjs4 显示禁用按钮的工具提示
【发布时间】:2012-01-09 06:10:39
【问题描述】:

当我禁用按钮时,它的工具提示也会禁用。即使按钮被禁用,有没有办法显示工具提示。

//create my button
       var myButton = Ext.create('Ext.Button', {
            tooltip :  'my Button Tooltip Text',
            id : 'my-button ',
            iconCls : 'star-icon',
            handler: Ext.Function.pass(_rmp.mediaManager.myButtonFunction, this)
        });

 //disable my button
    Ext.getCmp('my-button').disable();

编辑: 对于其他浏览器(chrome、safari、opera),它在 firefox(我使用的是 8.0.1 版)上没有按预期工作。工具提示按预期工作。

【问题讨论】:

    标签: extjs extjs4


    【解决方案1】:

    @jeewiya

    默认情况下,ExtJS 框架在禁用按钮上显示工具提示。这是我的重置按钮上的内容:

    {
            text: 'Reset',
            tooltip :  'my Button Tooltip Text',
                id : 'my-button ',
            handler: function() {
                this.up('form').getForm().reset();
            }
    }
    

    并且,下图显示即使在禁用重置按钮后也会出现提示

    如果您想试用我的示例,这里是我使用 ExtJS 4.0.7 测试过的完整代码,并且按预期工作:

    Ext.onReady(function(){
    
    Ext.tip.QuickTipManager.init();
    
    var form = Ext.create('Ext.form.Panel', {
    
        renderTo: Ext.getBody(),
    
        title: 'Simple Form',
        bodyPadding: 5,
        width: 350,
    
        layout: 'anchor',
        defaults: {
            anchor: '100%'
        },
    
        // The fields
        defaultType: 'textfield',
        items: [{
            fieldLabel: 'First Name',
            name: 'first',
            allowBlank: false
        },{
            fieldLabel: 'Last Name',
            name: 'last',
            allowBlank: false
        }],
    
        // Reset and Submit buttons
        buttons: [{
            text: 'Reset',
            tooltip :  'my Button Tooltip Text',
            id : 'my-button ',
            handler: function() {
                this.up('form').getForm().reset();
            }
        }, {
            text: 'Submit',
            formBind: true, 
            disabled: true,
            handler: function() {
                Ext.getCmp('my-button ').disable();
            }
        }],
        renderTo: Ext.getBody()
    });
    
    
    
    });
    

    【讨论】:

    • 嗨,感谢您的帮助。但我仍然无法解决问题。我使用您的代码创建了一个 jsfiddle,但它在 firefox(我使用的是 8.0.1 版)上没有按预期工作,而其他浏览器(chrome、safari、opera)工具提示按预期工作。我也测试了我的代码并发现它仅在 firefox 上不起作用
    • 这是 firefox 中的一个错误 - bugzilla.mozilla.org/show_bug.cgi?id=274626 并且 Target Milestone 已被提及为 mozilla8,因此我们预计会随时出现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2020-12-03
    • 2020-07-11
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    相关资源
    最近更新 更多