Итак, вот как можно отследить клик по псевдоэлементу:
HTML:
<!-- Наш элемент, у которого есть псевдоэлемент after -->
<div class="element-for-click">
<span>Текст</span>
</div>
CSS:
.element-for-click{
position: relative;
pointer-events: none;
background:red;
padding:20px;
}
.element-for-click:after {
content: 'Псевдоэлемент';
position: absolute;
padding:20px;
background-color: #4caf50;
cursor: pointer;
pointer-events: auto;
text-align: center;
top: 0;
right:10%;
color: #FFF;
font-weight: bold;
}
JS:
document.querySelector('.element-for-click').addEventListener('click', ()=>{
alert('Клик по псевдоэлементу');
});
При помощи CSS мы отключаем у родителя события указателя ( pointer-events: none; ) , а у псевдоэлемента устанавливаем pointer-events: auto; / pointer-events: all;