单击子事件时如何停止触发父单击事件

时间:2021-06-24 10:20:01

标签: javascript html

我有这种 div 结构,我想防止在单击子元素时触发父单击事件。


    <div onclick='methods(param)'>
     <div></div>
     <div>
      <button onclick='method2(param2)'></button>
     </div>
    </div>

我尝试使用每个 onclick 方法传递事件,但仍然无法阻止父点击事件。

1 个答案:

答案 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>