微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery UI图标. .ui-state-hover .ui-icon被浏览器忽略

我已经在一个页面上构建了两个控制容器,一个是使用 jquery-ui选项卡,另一个是通过添加一个使用ui-widget-header类的标题div来设计的样式的样式的标签控件.

标题div中,我有几个图标.我试图向这些图标添加一个悬停状态,以便在鼠标悬停时,按钮上的颜色反转(通过jquery-ui主题完成),并向图标添加效果”,让它们知道其可点击.

问题是,浏览器完全忽略了.ui-state-hover .ui-icon选择器和图标的样式.

我使用css中的样式被其他css样式覆盖,但在这种情况下,选择器被完全忽略.

附加到两个图标是一个悬停()事件,将ui-state-hover添加到图标的类列表中.活动的CSS类是

.ui-icon .ui-icon-plus .ui-state-hover

加上从父母继承的任何东西.

以下是DOM元素(请忽略我的可怕造型)

<div id="TreeControlArea" class="ui-widget-header ui-corner-all">
        <div style="float: left;">
            <table style="border-collapse: collapse; height: 21px;">
                <tr>
                    <td style="height: 18px; width: 18px; margin: auto;">
                        <div id="AddUser" class="ui-icon ui-icon-plus" title="Click to Add a User">
                        </div>
                    </td>
                    <td style="height: 18px; width: 18px; margin: auto;">
                        <div id="DeleteUser" class="ui-icon ui-icon-close" title="Click to Delete a User">
                        </div>
                    </td>
                </tr>
            </table>
        </div>

Jquery-ui css(我假设每个人都知道这里的所有状态提示css的东西)

.ui-state-hover .ui-icon,.ui-state-focus .ui-icon {background-image: url(images/ui-icons_e3e3e3_256x240.png); }

以下是浏览器开发人员工具截图图标dom元素的状态快照.

提前致谢

编辑

原始悬停代码

$('.ui-icon').hover(
        function () {
            $(this).addClass('ui-state-hover');
        },function () {
            $(this).removeClass('ui-state-hover');
        }
    );

$('.ui-icon').hover(
        function () {
            $(this).parent().addClass('ui-state-hover');
        },function () {
            $(this).parent().removeClass('ui-state-hover');
        }
    );

ui-state-hover ui-icon仍然是由ui-widget-header ui-icon覆盖的问题.

解决方法

基于“附加到两个图标是一个悬停()事件,将ui-state-hover添加到图标的类列表”,并且您给出的代码
.ui-state-hover .ui-icon,.ui-state-focus .ui-icon {background-image: url(images/ui-icons_e3e3e3_256x240.png); }

您需要将ui-state-hover添加到ui-icon类的父级(而不是图标本身).因此,您的许多祖先包含元素(td或tr或表等),因为css是以这种方式设置的(根据您提供的信息).

原文地址:https://www.jb51.cc/jquery/179337.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐