Нажатие по псевдоэлементу ::before / ::after (JavaScript / jQuery)

08.01.2020

Возник вопрос - как обработать событие нажатия на псевдоэлементы / ::before и/или ::after используя, например, jQuery.

Итак ответ - никак.

Но не стоит отчаиваться, сейчас речь шла о том, можно ли обработать событие onclick для элементов ::before / ::after и это сделать нельзя, но можно обработать это событие у родительского элемента и рассчитать область клика.

Конечно, это частично можно назвать костылем, но решение стабильно работает.

Если ширина контента нужного нам элемента 200 пикселей, то код будет выглядеть так:

 
$("#parent").on('click', function (e) {
  if (e.offsetX < 0) {
      console.log('before');
  }

  if (e.offsetX > 200) {
      console.log('after');
  }
})


Категории: JavaScript, JQuery
Пометки: jquery after onclick before
Яндекс.Метрика