问题描述
直接绑定到伪元素是不可能的,因为它们不是DOM的一部分,但是可以通过绑定到父元素并测试与作用于该元素的元素相关的偏移来近似达到预期的效果:after
:
以下显示为ELEMENT++
,其中单击“ ELEMENT”和“ ++”分别会触发不同的行为:
<span>ELEMENT</span>
span::after {
content: '++';
position: absolute;
}
span.c1 {
background: yellow;
}
span.c2::after {
background: orange;
}
const span = document.querySelector('span');
span.addEventListener('click', function (e) {
if (e.offsetX > span.offsetWidth) {
span.className = 'c2';
} else {
span.className = 'c1';
}
});
解决方法
我想选择伪元素 :after
这是我的CSS:
show-more:after
{
content : (" > ");
}
JQuery
码
$(function(){
$('.show-more:after').click(function() {
alert("Yes");
});
});