Может кто-нибудь объяснить, почему следующий jquery только запускает 2-е событие переключения и как это исправить? В частности, каждый раз, когда я щелкаю вложенный элемент , появляется предупреждение «2-й щелчок».
Я проверил селектор, чтобы убедиться, что он правильно выбирает элемент, и, по крайней мере, он вставил класс без проблем.
Селектор выбирает самый последний узел в неупорядоченном списке с тегом привязки.
$("#nav li:not(:has(li)) a").toggle(function() { //1st click
alert("1st Click");
}, function() { //2nd click
alert("2nd Click");
});
Вложенная HTML-структура, которая не работает:
<ul id="nav">
<li>
<span>stuff</span>
<a href="#">Cat 1</a>
<ul>
<li>
<span>stuff</span>
<a href="#">Subcat1</a>
<ul>
<li>
<span>Stuff</span>
<a href="#">Subcat Details</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Однако, это работает правильно и запускает оба события щелчка:
<ul id="nav">
<li>
<span>stuff</span>
<a href="#">Cat 1</a>
</li>
</ul>