Я прочитал пару статей, связанных с event.stopPropagation();
, но ни одно из предложенных решений не работает для меня. По сути, у меня есть виджет-аккордеон со всеми элементами, свернутыми по умолчанию. В заголовке каждого элемента (тег dt) также есть флажок. При установке флажка аккордеон не должен расширять его элементы.
<dt data-toggle="collapse">
<span class="subscribe-checkbox"><button type="button" class="btn toggle-btn" data-toggle="button"></button></span>
</dt>
<dd>
<p>Accordion content...</p>
</dd>
Щелчок по диапазону (который должен действовать как флажок) должен добавить к нему проверенный класс. Однако он также расширяет элемент аккордеона (тег dd). Что я делаю в jQuery:
$('.accordion-group .btn.toggle-btn').click(function (event) {
event.stopPropagation();
});
Хотя содержимое аккордеона не отображается (что хорошо), элемент <span>
также не меняет класс, поэтому он не становится «отмеченным». Я тоже пытался с .live()
и тоже не работал.