我想在我的 html 中停止从父 div
到子 div
的传播事件。这是我正在尝试做的简单代码:
<div>
<div id='categoryList'>
<div class='listed-category'>
<span>some content</span>
<a id='close'>x</a> //"a" is used to remove the div
</div>
</div>
</div>
<div id='dropdown'>
</div>
在上面的代码中,如果我单击 <div id='categoryList'>
<div id='dropdown'>
将通过以下代码上下滑动。
$(document).ready(function () {
$('#categoryList').click(function (event) {
event.preventDefault();
event.stopPropagation();
if ($('#dropdown').is(":visible")) {
$('#dropdown').slideUp(400);
}
else {
$('#dropdown').slideDown(400);
}
});
})
但是当我点击孩子 <div class='listed-category'>
上面的 JavaScript 执行并且 <div id='dropdown'>
上下滑动。如何阻止这个?但是我希望能够点击 <a id='close'>
删除孩子 div
原文由 Rahul Chakrabarty 发布,翻译遵循 CC BY-SA 4.0 许可协议
检查匹配点击对象的目标。在单击事件处理程序的开头尝试此代码。