是否有可能使用jQuery检测到:after或:before伪元素的点击?

dez*_*man 15 css jquery

让我们说:

<div></div>
Run Code Online (Sandbox Code Playgroud)

有:

div {
    width: 500px;
    height: 500px;
    position: relative;
}
div:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    right: 0;
}
Run Code Online (Sandbox Code Playgroud)

我能做点什么$('div:after').click(function(){...});吗?如果我点击div但不是,请不要开火div:after.

rya*_*yan 8

也许.根据您构建伪内容的方式,您必须依赖于计算实际div上点击的鼠标位置.事件处理程序都将继续div,而不是伪元素,因为它不存在于DOM中.

请参阅使用jQuery操作CSS:before和:after伪元素以 获取更多信息.特别是BoltClock的答案.

另请参阅Felix对没有鼠标位置的另一种可能解决方案的评论:仅检测伪元素上的click事件

  • 我找不到 felix 的任何评论。 (3认同)