我将尝试用一些简单的例子来展示我的问题。
我拥有的?
http://jsfiddle.net/JGzSh/3/
这是一些简单的按钮,稍后会有 onclick 事件。当我将鼠标悬停在绿色 div(父级)上时,:hover
可以稍微改变它的颜色。
有什么问题?
问题是,当我将鼠标悬停在黄色部分时,我想更改黄色元素的背景,但我不想父级:hover
上班。
Question
那么我怎样才能禁用父母:hover
当悬停在孩子上方时? (所以父母的背景会回到起始颜色?)
到目前为止,这些只是关于悬停的 CSS 规则
.przycisk:hover{
background-color: #383;
}
.skrot:hover{
background-color: red;
}
到目前为止我尝试过什么?
我知道这是最重要的问题。我做了一些研究,到目前为止我找到了一些可以帮助我的解决方案,但它们都使用 jQuery,我的问题是,是否可以仅在 CSS 中完成,以保持简单尽可能?
在 google 中找到的 jQuery 解决方案示例:
$('.przycisk').hover(function(e){
if($(e.target).is('.skrot')){
// your child span is being hovered over
e.stopPropagation();
}else if($(e.target).is('.przycisk')){
// your parent element is being hovered over
}
});
我想我找到了一些非常快速的解决方案。
$('.deHover').hover(function(){
$(this).parent().css('background-color', '#008000');
}, function(){
$(this).parent().css('background-color', '#383');
});
$('.przycisk').hover(function(){
$(this).css('background-color', '#383');
}, function(){
$(this).css('background-color', '#008000');
});
对于我想要禁用父级悬停的所有内容,我添加deHover
类,它只是更改鼠标移入/鼠标移出时的父背景颜色。但我还需要记住让父悬停(进出)工作,所以我也为其添加了一个 jQuery。
Here是 jsfiddle 检查它是否有效。没发现有什么可抱怨的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)