如果您单击页面上的任何位置,弹出窗口会上升。该弹出窗口覆盖了屏幕,但如果您单击它三次,则会最后选择p
元素。弹出覆盖屏幕,可选文本
我该如何预防?
PS:在这个例子中,我使用JQuery来实现简单的点击事件,但在实际的应用程序中没有。我宁愿不JQuery的溶液(纯JS是好的)
$('.wrapper').on('click', (e) => {
e.stopPropagation();
$('.popup').show();
});
$('.popup').on('click', (e) => {
e.stopPropagation();
$('.popup').hide();
});
$('.popupContent').on('click', (e) => {
e.stopPropagation();
});
.popup {
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,0.8);
}
.popupContent {
position:absolute;
left:10%;
top:10%;
width:80%;
height:80%;
background-color:rgba(255,255,255,1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<div class="popup">
<div class="popupContent">
</div>
</div>
</div>
选择不同于点击。 – Roberrrt
@Roberrrt听起来很合理,但我不知道评论如何帮助我在这里。你的意思是我应该做别的事情而不是'stopPropagation'? – Randy
stopPropagation禁用点击,但不是选择,我有一个建议,你可以使用,一时刻 – Roberrrt