Задать вопрос
zkrvndm
@zkrvndm
Архитектор решений

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

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

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

Какие вы знаете способы отловить клик по псевдоэлементу? Понятно, что самый очевидный способ это по координатам, но какие еще способы есть? Наверное можно ловить клик по родителю, но как понять, что нажат именно псевдоэлемент?
  • Вопрос задан
  • 272 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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