Подтвердить что ты не робот

Можно ли обнаружить щелчок: после или: перед псевдоэлементом с помощью jQuery?

Допустим, у меня есть:

<div></div>

с:

div {
    width: 500px;
    height: 500px;
    position: relative;
}
div:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    right: 0;
}

Могу ли я сделать что-то вроде $('div:after').click(function(){...});? И не стреляйте, если я нажимаю div, но не div:after.

4b9b3361

Ответ 1

Может быть. В зависимости от того, как вы структурируете свой псевдо-контент, вам придется полагаться на вычисление положения мыши для кликов по фактическому div. Обработчики событий все пойдет на div, а не на псевдоэлемент, потому что он не существует в DOM.

См. Манипулирование CSS: до и: после псевдоэлементов с помощью jQuery для получения дополнительной информации. Особенно ответ BoltClock.

Также см. комментарий Felix для другого возможного решения без позиции мыши: Обнаружение события клика только на псевдоэлементе