littleguga: но в вашем примере идёт обработка отдельного span который выделен под крестик (закрытие).
А суть моего вопроса было в том, как обойтись без этого, то есть что бы не создавать отдельный тег для крестика.
Если она за пределами .popUp, то следовательно - клик произошел по псевдоэлементу
А если клик был за границей .popUp, но не там где "закрыть" а с кажем в противоположном углу, как оно понимает, что закрыть нужно именно там где текст "закрыть" ?) Не догоняю
Но вообще, это кривой и косой способ.
Я надеялся есть способ без костылей, но раз его нет, то буду использовать обычные олдскульный способ, обёртывания в див.
TroubleInThat благодарю за интересный пример. Ещё бы хотелось понять как он работает, я просто js только начинаю изучать, и вот эта часть кода " (this.offsetWidth - event.offsetX < 0)" для меня не совсем ясна. Как оно понимает что нужно срабатывать именно по тому, что прописано в after ?
А с js какие проблемы могут быть, если привязывать их не к самим тегам а к их id или class, тогда не должно быть проблем по идеи.
За ссылки спасибо, но мой английский на уровне london of the capital great britain =) Увы, но я подтяну его, обещаю))))
А суть моего вопроса было в том, как обойтись без этого, то есть что бы не создавать отдельный тег для крестика.