阻止将鼠标悬停在内部元素上?

时间:2018-09-25 08:57:52

标签: html css css3

在内部元素上阻止伪类“悬停”。 当悬停在内部元素上时,它不起作用。 如何实现呢?

.link:hover {
  background: #499a75;
}
<a href="#" class="link">
  Test
  <ul>
    <li>1</li>
    <li>2</li>
  </ul>
</a>

1 个答案:

答案 0 :(得分:1)

使用javascript,您可以检查事件目标是否与您要对其应用效果的元素完全相同。如果是,则添加一个类,否则,将其删除。

var anchor = document.querySelectorAll('a.link')[0];
anchor.addEventListener('mouseover', hoverin, false);
anchor.addEventListener('mouseout', hoverout, false);

function hoverin(event) {
    if(event.target === anchor) {
        anchor.classList.add('hover');
    }
    else {
        hoverout();
    }
}

function hoverout() {
    anchor.classList.remove('hover');
}
.link.hover {
  background: #499a75;
}
<a href="#" class="link">Test
    <ul>
        <li>1</li>
        <li>2</li>
    </ul>
</a>