Может кто-нибудь помочь мне объяснить, почему ссылки из выпадающего меню не работают, когда я нажимаю на них? Может быть, из-за событий указателя? Я пытаюсь открыть выпадающее меню после закрытия ссылки или нажать кнопку закрытия. Я добавил некоторые интересные вещи, такие как скрытие родительского контейнера при нажатии ссылки.
Существует много вариантов:
-
используя
:focus
, но при использовании фокуса выпадающее меню не будет запускается при следующем наведении на раскрывающееся меню. -
используя
:active
на контейнере иpointer-events
, чтобы указать только активные ссылки, но события указателей являются ошибками - используя
:target
, но имеет ту же проблему, что и: focus, не будет запускаться второй пылесос.
body {
padding: 20px;
}
.container {
border: 1px solid lime;
padding: 10px;
width: 200px;
}
.test1 {
display: none;
border: 1px dashed orange;
background: green;
padding: 10px;
pointer-events: none;
}
.container:hover .test1 {
display: inline-block;
}
.container:hover .test1:active {
display: none;
}
a {
pointer-events: auto;
color: lime;
font-weight: bold;
}
<ul class="container">
Drop down menu
<li class="test1">
<a class="dropdown" href="#">X Close</a>
<ul class="content">
CLOSE THIS CONTENT
<li class="link"><a href="#" onclick="location.href='http://www.google.com'; return false;">Go to link 1</a></li>
<li class="link"><a href="#" onclick="location.href='https://www.google.co.uk'; return false;">Go to link 2</a></li>
<li class="link"><a href="#" onclick="location.href='https://www.google.co.uk'; return false;">Go to link 3</a></li>
</ul>