Я добавляю значок «удалить меня» ко всем элементам на моей странице с классом «myClass»:
div myClass:after
{
content: url('remove-me-icon.jpg')
}
Затем я использую делегирование событий для обнаружения кликов на всех этих значках, прослушивая клики на содержащем элемент:
$("#myDivThatContainsThoseOtherDivs").click(function(e){
if ($(e.target).is('.myClass:after'):
{
// XXX... remove this element
}
});
Однако код в XXX запускается всякий раз, когда пользователь нажимает на div с классом myClass; есть ли способ узнать, произошел ли этот щелчок специально на на одной из тех иконок , которые я вставляю с помощью свойства content CSS?
РЕДАКТИРОВАТЬ: из ответов ниже кажется, что это не работает, потому что изображение не добавляется в DOM. Как можно достичь этого же эффекта? Я застрял с использованием JQuery для
$("div.myClass").each(
/*
function that appends html to this element defining a clickable
icon with class "myClickableIcon"
*/);
$("#myDivThatContainsThoseOtherDivs").click(function(e){
if ($(e.target).is('.myClickableIcon'):
{
// XXX... remove this element
}
});
и затем делать то же самое для каждого нового добавляемого div класса myClass? (Я не использую один из тех плагинов для обработки событий, которые добавляют обработчики событий даже для элементов, которые еще не созданы, которые соответствуют их селектору.)
Или есть более разумный способ сделать это?
Заранее спасибо за любую помощь,
лара