已选中正确元素,为何Event Listener仍无法正常工作?
问题解决:.lm元素点击无响应
问题根源
你的.prod父元素设置了pointer-events: none,这个属性会让该元素及其所有子元素完全忽略鼠标事件——哪怕子元素(比如.lm)本身没设置这个属性,点击事件也无法传递到.lm上。这就是监听器已绑定,但点击毫无反应的核心原因。
修复方案
给.lm类添加pointer-events: auto,强制它接收鼠标事件,绕过父元素的限制:
.lm { height: 30px; display: flex; align-items: center; position: absolute; right: 10px; bottom: 5px; pointer-events: auto; /* 新增该行 */ }
额外说明
event.preventDefault()在这里没有实际作用,因为.lm不是链接、按钮这类默认有跳转/提交行为的元素,可根据需要移除。- 你之前怀疑的
.vert-gradient和.border类,它们的pointer-events: none不会影响.lm:.vert-gradient是.prod的同级元素,.border是祖辈元素且同样设置了pointer-events: none,真正的阻碍是.prod的pointer-events: none。
内容的提问来源于stack exchange,提问作者Nadja Popovic
相关产品推荐
相关产品推荐

