javascript - 结合悬停和焦点选择器样式但不同时

标签 javascript jquery html css

我有一个 ul,其中的列表项在悬停或聚焦时会突出显示。但是,如果有一个被悬停而另一个被聚焦,那么我只希望悬停的 li 改变样式,而聚焦的元素样式返回默认值。这可能吗?这是一个 demo .谢谢。

CSS

li:hover,li:focus{
    background-color:yellow;
    cursor:pointer; 
}

html

<ul>
    <li>one</li>
    <li>two</li>
    <li>three</li> 
</ul>

js

$('li').attr('tabindex','0').focus();

最佳答案

使用您拥有的代码,执行此...

li:focus{
    background-color:yellow;
    cursor:pointer;
    outline: none;
}

ul:hover > li:focus {
    background: none;
    cursor: default;
}

ul:hover > li:hover {
    background: yellow;
    cursor: pointer;
}

CSS 在说什么?

  • 将任何具有 :focus 的列表项设置为黄色背景。
  • 当您将鼠标悬停在父 UL 上时,将所有 li 设置为没有背景。
  • 将鼠标悬停在单个 LI 上时,将背景设置为黄色。
  • 当您将鼠标悬停在 UL 之外时,样式会重置。

JS Fiddle

关于javascript - 结合悬停和焦点选择器样式但不同时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369577/

相关文章:

javascript - 如何使用谷歌图表库将圆环图元素平滑地旋转到底部位置(270度或负y轴)

javascript - 带有 javascript 调用的 Img 在 ipad 上无法运行?

javascript - 如果用户调整窗口大小/窗口未最大化,是否可以隐藏网页上的图像

javascript - 将类添加到当前 slider div 元素

javascript - 使用属性 "title"将 html 元素链接到 jQuery.click()

javascript - 添加文件之前验证(自定义)

javascript - 使用 div 标签和 Bootstrap 类更新 DOM

javascript - 当包含为 asp 文件时,Bootstrap Dropdowns 将展开,但不会关闭

javascript - jQuery/js 删除动态创建的复选框

javascript - 函数参数中的运算符?