需要帮助以防止在单击子div时触发父onclick事件

3
我想防止在单击子div时触发父元素的onclick事件,可以按照以下方式实现:

<div onclick='parentClick()'>
  <div onclick='childClick()'>
    <div onlick='subchildClick()'>
    </div>
  </div>
</div>

我希望 childClick() 函数会执行 subchildClick() 函数但不会触发 parentClick()。如何实现呢? 非常感谢!

2个回答

4
在你的childClick函数中使用event.stopPropagation()。像这样:
function childClick(event) {
    event.stopPropagation();
    // Other stuff
}

event.stopPropagation()会阻止事件继续向DOM冒泡。由于您只在childClick处理程序中调用此功能,因此来自subChild的事件仍将向上传播到childClick处理程序。


1
你应该使用事件的stopPropagation方法。
function example(event) {
    event.stopPropagation();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接