我有这种 div
结构,我想防止在单击子元素时触发父单击事件。
<div onclick='methods(param)'>
<div></div>
<div>
<button onclick='method2(param2)'></button>
</div>
</div>
我尝试使用每个 onclick
方法传递事件,但仍然无法阻止父点击事件。
答案 0 :(得分:2)
您可以传递和使用事件对象并使用 stopPropagation
function methods(e) {
console.log(' Parent function')
}
function method2(e) {
console.log(' Child function');
event.stopPropagation();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div onclick='methods()'>
<div></div>
<div>
<button onclick='method2(event)'>Button</button>
</div>
</div>