我有类似下面的代码,我想要如果我单击Child Div,则不应触发Parent Div click事件。

<div class="parentDiv" (click)="parentDiv()">
   <div class="childDiv" (click)="childDiv()">Child Container</div>
</div>

当我单击“ childDiv ”时,它首先触发“ parentDiv()”事件,然后触发“ childDiv()”事件。

您能帮我解决吗?

先感谢您

最佳答案

这是您需要的event.stopPropagation();

<div class="childDiv" (click)="childDiv(event)">Child Container</div>


childDiv(event) {
 event.stopPropagation();
}

在您的情况下发生的事情称为事件传播。

当您单击子div时,click事件会传播到父div。您需要停止该传播。

上面是这样做的方法。

或者,如果您想要单线解决方案,
<div class="childDiv"
 (click)="childDiv(event);$event.stopPropagation()" >Child Container</div>

08-05 01:55