1

我尝试使用以下代码在 extjs 的网格面板中添加一个文本文件和一个按钮:

        var shopIdInput = new Ext.form.TextField({
            emptyText: "请输入商户Id",
            width: 200
        });

        var deleteOneShopCacheBtn = new Ext.Button({
            text : '删除商户缓存',
            handler: deleteOneShopCache,
            minWidth : 100,
            cls: "delBtn"
        });
                 ......
        var grid = new Ext.grid.GridPanel({
            store: store,
            columns: columns,
            bbar: [shopIdInput, deleteOneShopCacheBtn],
            buttons: [clearRedressWordCacheBtn, clearSplitWordCacheBtn, clearRegionCacheBtn, clearCategoryCacheBtn, runCommandBtn],
            items: [commandForm],
            buttonAlign: 'center',
            stripeRows: true,
            autoExpandColumn: 'serverUrl',
            //title: '批量执行指令',
            sm: checkboxSelect,
            frame: true,
            autoHeight: true,
            enableColumnHide: false,
            renderTo : 'serverInfoList'
        });

但是 bbar 中的按钮 deleteOneShopCacheBtn 看起来不像按钮中的按钮 clearRedressWordCacheBtn 那样的普通按钮。当鼠标在它上面时,它会变成一个按钮。我试图通过设置属性 cls 来解决问题,但失败了,我该怎么办?

4

2 回答 2

0

cls 配置允许您指定要应用于可渲染对象(在您的情况下为按钮)的其他类,但不会根据鼠标悬停在其上进行更改等。

您需要的是 deleteOneShopCacheBtn 上的侦听器并侦听鼠标悬停事件(另请参阅 Sencha 文档以获取按钮响应的事件列表)。你可以启动一个函数,让你的按钮看起来像你想要的任何东西。我目前在工作。如果今晚我回家后你仍然有这个问题,我可以发布一些代码。

另请参阅以下示例:
按钮单击事件 Ext JS }

于 2012-05-04T18:55:13.953 回答
0

我通常只是在按钮上添加一个图标来帮助它脱颖而出。所以只需为 iconCls 设置一个值:'mybuttonicon'

并在您的 css .mybuttonicon { background-image: url(../path/to/icon) !important;}

于 2012-05-08T10:19:25.347 回答