长按删除中 弹窗删除 怎么设置点击外面不会关闭弹窗
时间: 2023-08-12 17:06:37 浏览: 45
一般来说,你可以在弹窗外部添加一个半透明的遮罩层,遮住弹窗外部的内容,这样就可以防止用户误操作而点击到弹窗外部,从而关闭弹窗。具体实现方式可以通过CSS设置遮罩层的样式,然后通过JavaScript监听点击事件,判断点击的区域是否在弹窗内部或者遮罩层上,如果不是则不执行关闭弹窗的操作。以下是一个简单的实现示例:
HTML:
```
<div class="mask"></div>
<div class="popup">
<p>确定要删除吗?</p>
<button>取消</button>
<button>确定</button>
</div>
```
CSS:
```
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
z-index: 999;
display: none;
}
.popup {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #fff;
padding: 20px;
z-index: 1000;
display: none;
}
```
JavaScript:
```
var mask = document.querySelector('.mask');
var popup = document.querySelector('.popup');
var cancelButton = popup.querySelector('button:first-child');
var confirmButton = popup.querySelector('button:last-child');
mask.addEventListener('click', function(event) {
if (event.target === mask) {
mask.style.display = 'none';
popup.style.display = 'none';
}
});
cancelButton.addEventListener('click', function(event) {
mask.style.display = 'none';
popup.style.display = 'none';
});
confirmButton.addEventListener('click', function(event) {
// 执行删除操作
mask.style.display = 'none';
popup.style.display = 'none';
});
// 显示弹窗
mask.style.display = 'block';
popup.style.display = 'block';
```
在上面的示例中,我们使用了一个遮罩层和一个弹窗,当用户点击遮罩层时,通过判断点击的目标元素是否是遮罩层本身,来确定是否关闭弹窗。同时,我们在弹窗中添加了取消和确定按钮,以便用户进行操作。