event.stopPropagation();行为不符合预期
event.stopPropagation(); doesn't behave as expected
我阅读了几篇与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()
,也没有奏效。
您必须使用
addEventListener
,然后使用布尔 Capture
参数来控制父元素的行为。
stopPropagation() 不起作用,因为<dd>
不是<span>
的父级,所以事件不会从<span>
传播到<dd>
。
也许删除整个代码的父元素的单击处理程序,并为<dd>
添加新处理程序
相关文章:
- “;Stub对象”;对象不符合检查点's条件
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- Javascript setSelectionRange 在单元测试中的行为不符合预期
- DOM元素的行为不符合预期
- Javascript动画的行为不符合预期
- 谷歌图表与表给予“;[对象对象]不符合控制规范”;错误
- Chrome 中的 Array.prototype.splice - 不符合规范
- 获取集合中不符合条件的所有文档
- 标头不符合 100% 宽度
- 粘性导航栏在 jsfiddle 上工作,但在本地主机上不符合预期
- 页面视图不符合预期,HTML 未显示,页面为空白
- Javascript clearInterval 和 setInterval() 的行为不符合预期
- jQuery Clone() 在页面中的行为不符合 asp.net
- JavaScript 如果文本输入不符合参数,则阻止文本输入
- event.stopPropagation();行为不符合预期
- 为什么正则表达式模式不符合 javascript 数据类型的条件
- 表格下拉选择不符合Div
- 从没有'不符合Regex规则
- $(window).滚动在if语句内部执行,即使它没有't不符合条件
- 使用不符合noconflict的外部JavaScript文件