我阅读了几篇相关的文章,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()
,也没有用。