У меня есть неупорядоченный список элементов, что-то вроде этого, укороченный для краткости:Возможно ли запустить событие jQuery click на фоновом изображении в списке?
<div id="elementsContainer">
<ul>
<li><a>One</a></li>
<li><a>Two</a></li>
</ul>
</div>
У меня есть список стилизованного, но эти 3 стилей борьба с фоновыми изображениями для элементов списка:
#elementsContainer ul li {
list-style:none;
}
#elementsContainer a {
background: transparent url(/images/icons/bullet_delete.png) no-repeat 5px 50%;
}
#elementsContainer a:hover,
#elementsContainer a:focus,
#elementsContainer a:active {
background:#fff url(/images/icons/delete.png) no-repeat 5px 50%;
}
Список выглядит великолепно - он помещает небольшой значок удаления слева от текста для каждого элемента списка. Тем не менее, я хочу использовать jQuery (1.3) для обработки событий кликов для каждого элемента, и я хотел бы иметь отдельную функциональность между фоновым изображением элемента списка и текстом элемента списка. Если я нажму на изображение, я хочу удалить элемент. Если я нажму текст, я хочу отредактировать элемент.
Я начал использовать что-то вроде этого:
$("a").live("click", function(event){
alert($(this).text());
});
Но я не вижу ничего в $ (это) или «событие», что я могу определить, если я нажав на текст или изображение.
Да, я знаю, что у меня может быть только отдельный тег «img» и обрабатывать щелчок по нему отдельно. Я поеду по этому маршруту, если это единственный вариант. Я просто хочу знать, есть ли способ заставить его работать на фоновом изображении.
Заранее благодарен!
Вы должны иметь в виду, что это может быть самым простым решением, но есть и некоторые недостатки. Использование '' для макета не является хорошей стратегией для разделения структуры и макета. Таким образом, это не лучшее решение в отношении доступности. Однако у меня нет никаких лучших и легких предложений. – lumbric