У меня есть список в списках. Когда пользователь нажимает на элемент списка (<li>
), я хочу, чтобы появилось вложенное <ul>
. Прежде чем я начал добавлять вложенные списки, я просто получил его, когда нажатие элемента списка запускало функцию. Теперь нажатие на любой из вложенных списков также выполняет эту функцию. Это имеет смысл, поскольку они являются частью элемента списка.jQuery нажмите на li с вложенной ul
Помимо упаковки <span>
вокруг первой части элемента списка и запуска функции на этом, есть ли селектор, который позволит мне что-то запустить на родительском <li>
, но не на его дочерние элементы, а не на дочерние списки и список элементов?
HTML:
<ul class="buckets">
<li class="bucket">
<img src="arrow_group_collapsed_true.png" class="arrow">
<img src="blue_folder.png" class="folder">
View all
</li>
<li class="bucket">
<img src="arrow_group_collapsed_false.png" class="arrow">
<img src="blue_folder.png" class="folder">
Groups
<ul style="display: block;">
<li id="group_id_15036" class="group_bucket">
<img src="arrow_group_collapsed_true.png" class="arrow">
<img src="blue_folder.png" class="folder">
Group 1
</li>
<li id="group_id_14910" class="group_bucket">
<img src="arrow_group_collapsed_true.png" class="arrow">
<img src="blue_folder.png" class="folder">
Group 2
</li>
</ul>
</li>
</ul>
Javascript (не много, я могу показать больше, если необходимо):
$('li.bucket').live('click',
function()
{
// do stuff
})
Я хочу, нажмите на "группы" или "Все", чтобы запустить функция щелчка, но щелчок на «Группе 1» или «Группе 2» не должен.
Так что, если пользователь нажимает на что-нибудь вроде 'li.bucket li', что здесь будет? – hookedonwinter
Ничего. Разве это не намеренное поведение? – MvanGeest
Я просто хотел убедиться. Могу ли я затем переопределить это? Я хочу, чтобы все происходило, когда я щелкаю по более глубоким ссылкам, я просто не хочу, чтобы функция срабатывала и на верхнем. Если это имеет смысл. – hookedonwinter