我有一个显示在悬停状态的工具提示.问题是,为了在移动设备中移除焦点/悬停状态,您必须在.explaination div之外单击.我想把它做好,这样你也可以把它合上
<div class="main">
<div>
<h5>h5 text</h5>
<div class="explanation">
<div>
<p>An explanatory paragraph <a>x</a>
</p>
</div>
</div>
</div>
</div>
CSS看起来像这样:
.main {
.explanation {
&::before {
content: "[hover to show]";
}
p {
background: #edf6ff;
display: none;
margin: 0;
padding: 12px;
position: relative;
width: 200px;
a {
content: '[close]';
outline: 5px solid blue;
position: absolute;
top: -5px;
right: -20px;
}
}
&:hover p {
display: block;
}
}
}
这在桌面上非常有效,但在移动设备上,我希望能够通过点击[x]a标签来移除对元素的关注.您已经可以通过单击其他任何位置来关闭它,但我也希望能够单击X(它在内部)来关闭它.
我想大概会是这样的:
const closeButton = document.querySelector(
'.main .explanation p a'
);
const main = document.querySelector('.main');
closeButton.addEventListener('click', removeFocus, false);
function removeFocus(event) {
main.blur();
event.preventDefault();
}
但这不会有任何作用,至少在Chrome中不会.如何在移动设备上关闭悬停状态?