我有一个将指针事件设置为无的元素,因此不会显示子元素的悬停样式。
但是,当单击此元素时,我想用 JavaScript 做一些事情。在 JavaScript 中使用 onclick 事件似乎不起作用,因为 pointer-events 设置为 none。
有没有办法解决这个问题,这样我就可以拥有一个没有指针事件的元素仍然可以触发 JavaScript 事件?
[data-drawer="open"] {
.site-drawer {
transform: translateX(0);
transition: all .2s ease;
}
.site-container {
transform: translateX(-27.5rem);
// Disabling pointer events disables styles hover styles on below elements
// But also disables clicking on container to remove it.
pointer-events: none;
transition: all .2s ease;
&:after {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,.75);
content: "";
}
}
}
JavaScript:
this.siteContainer.addEventListener('click', (e) => {
console.log('site container clicked');
if(document.body.hasAttribute('data-drawer')) {
document.body.removeAttribute('data-drawer');
}
});
干杯