zkrvndm
@zkrvndm
Архитектор решений

Как отследить клик по псевдоэлементу?

Хочу роботов отловить, заспамили сайт визитами с нулевой активностью и тем самым снижают позиции.

Планирую сделать кнопку из псевдоэлемента Cогласен с Cookie и буду грузить метрику только после клика по ней.

Какие вы знаете способы отловить клик по псевдоэлементу? Понятно, что самый очевидный способ это по координатам, но какие еще способы есть? Наверное можно ловить клик по родителю, но как понять, что нажат именно псевдоэлемент?
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
@MrColdCoffee
web
Итак, вот как можно отследить клик по псевдоэлементу:

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;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы