JQ给伪元素绑定事件


背景

因为文案希望只点击红色方框才能触发点击事件,而自己之前的点击事件是直接加在整个元素上的,方框是用伪元素写的,而文件已经发给多语言翻译,所以不支持再更改目录结构。如下图所示 enter description here

解决办法

用css给当前绑定事件的元素添加pointer-events: none;然后给当前需要点击的伪元素添加pointer-events: auto; 此时就只有当点击伪元素时才会触发点击事件。但是如果当前元素有其他需要被hover的对象时,父元素被添加pointer-events:none后,Hover效果也会消失,比如

enter description here

因此也需要给问号添加pointer-events: auto;,但是添加后点击问号同样会触发点击事件,因此还需要在js文件中

$(".wen).click(function(){
return false
})

这时候就既能Hover,还不会冒泡触发当前事件

总结

伪元素非 dom 元素,jq无法操作,但可以间接影响。但是为了保险起见,可以选中不使用伪元素绑定事件