如果您單擊頁面上的任何位置,彈出窗口會上升。該彈出窗口覆蓋了屏幕,但如果您單擊它三次,則會最後選擇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