pointer-events: none; 指示该元素不是鼠标事件的目标,值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。说白了,就是让目标标签不接受鼠标事件(含click,mousemove,mouseup之类的)。我们来举个例子:
<style>
.parent {
width: 400px;
height: 400px;
padding: 50px;
margin: 100px;
background: #f20;
}
.child {
width: 200px;
height: 200px;
padding: 50px;
background: #ff0;
}
.child-child {
width: 50px;
height: 50px;
background: #00d;
}
</style>
<div class="parent" id="parent">
<div class="child">
<div class="child-child">
</div>
</div>
</div>
<script>
let parent = document.getElementById("parent");
parent.addEventListener("click", function(event) {
console.info(event.offsetX);
});
</script>
可以看到,我们事件是添加在 parent上的。但是点击鼠标到b或c上的时候相对的坐标变成了b或c,怎么办呢,一种解决办法是clientX,代码变成这样
<style>
.parent {
width: 400px;
height: 400px;
padding: 50px;
margin: 100px;
background: #f20;
}
.child {
width: 200px;
height: 200px;
padding: 50px;
background: #ff0;
}
.child-child {
width: 50px;
height: 50px;
background: #00d;
}
</style>
<div class="parent" id="parent">
<div class="child">
<div class="child-child">
</div>
</div>
</div>
<script>
let parent = document.getElementById("parent");
parent.addEventListener("click", function(event) {
console.info(event.clientX);
});
</script>
但是,如果不用clientX怎么解决这个问题呢?
pointer-events: none; 可以解决这个问题
如果我们就是不让child和child-child接受鼠标点击事件,那给它们的样式添加 pointer-events,代码修改后为:
<style>
.parent{
width:400px;
height:400px;
padding: 50px;
margin:100px;
background:#f20;
}
.child{
width:200px;
height:200px;
padding:50px;
background:#ff0;
pointer-events: none; /* 不接受鼠标事件 */
}
.child-child{
width:50px;
height:50px;
background:#00d;
pointer-events: none; /* 不接受鼠标事件 */
}
</style>
<div class="parent" id="parent">
<div class="child">
<div class="child-child">
</div>
</div>
</div>
<script>
let parent = document.getElementById("parent");
parent.addEventListener("click", function(event) {
console.info(event.offsetX);
});
</script>
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?