extjs - 将悬停效果应用于 ExtJs 中的容器

标签 extjs extjs4

为什么这么难?我不能使用 CSS,否则我已经完成了。我有一个由容器、图像和标签组成的“按钮”,并且单击事件对容器运行良好。然而 - 做一些简单的事情,比如改变悬停时的背景颜色让我现在讨厌 ExtJs,必须有一种更简单的方法来做到这一点。

这是我到目前为止所得到的:

Ext.create('Ext.container.Container', {
                 layout: 'hbox',
                 style: { backgroundColor: '#ddd', margin: "5px 0px 5px 5px", padding: "3px", width: "150px", fontSize: "8pt" },
                 listeners: {
                    render: function (c) {
                       c.el.on('click', function () { alert('Downloading Report'); });

                       c.el.on('mouseover', function () {
                          //alert("mouseover");
                          Ext.apply(this, { style: { backgroundColor: '#aaa'} });
                       }
                       );

                       c.el.on('mouseout', function () {
                          //alert("mouseout");
                          Ext.apply(this, { style: { backgroundColor: '#ddd'} });
                       }
                       );
                    },
                    scope: this
                 },
                 items: [
                    { xtype: 'image', src: "resources/images/icons/monoDownload32.png", style: { margin: "2px", maxWidth: "32px"} },
                    {
                       xtype: 'label',
                       text: 'MS Excel Report',
                       style: { margin: "2px", fontSize: "8pt" }
                    }
                 ]
              })

已调用警报,但未应用样式。有没有更简洁的方法来做这么简单的事情?或者在这种情况下是否有更好的控制可以达到相同的结果。

最佳答案

很遗憾你不能使用 CSS。如果可以,那么 overCls将是要走的路:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.AbstractComponent-cfg-overCls

除此之外,您的方法非常接近。将样式对象应用到 el 上不会做任何事情,因为 Ext 不知道你这样做了。相反,您想调用 setStyleapplyStyles
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.dom.Element-method-applyStyles

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.dom.Element-method-setStyle

关于extjs - 将悬停效果应用于 ExtJs 中的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113325/

相关文章:

excel - ExtJS 5 电子表格选择模型错误

extjs - 如何隐藏组合中的项目 - Extjs 4.1

extjs - 在 Firebug 中调试 Extjs 4

javascript - 在 initComponent Ext JS4 中声明函数

php - 使用 extjs4 更改网格

javascript - 发布到服务器时如何处理extjs 4的动态加载?

javascript - ExtJS FormPanel 更改元素名称

javascript - 拉力赛应用程序 SDK 2.0 : SnapshotStore unable to load custom fields and hydrate

javascript - 如何更改 ExtJs 中的拖放工具提示文本?

ExtJS 和页面授权(服务器端)