Я пытаюсь создать выпадающий список, аналогичный окну «Самые последние» на Facebook. По сути, есть оболочка, которая содержит как элемент (ы), который вызывает раскрывающийся список, но и сам ящик.
У меня есть такая структура:
<div class="dropdown">
<div class="text">Click to drop down</div>
<div class="icon"></div>
<div class="box" style="display:none">
foo<br>bar<br>baz
</div>
</div>
То, что я хочу - это, по сути, триггер:
$('.dropdown').click(function() {
$('.box').toggle();
});
Но это также срабатывает при нажатии на саму коробку.
Итак, мой вопрос: как мне вызвать обработчик щелчка при нажатии .dropdown, но не .dropdown .box? Я пытался объединить их, но никогда не получалось:
$('.dropdown not:(.box)')
$('.dropdown').not('.box')
Мне бы очень не хотелось создавать .box в качестве родственного элемента для .dropdown, но оставить его в детстве.