Javascript 如果单击子angular2,如何停止父请求

Javascript 如果单击子angular2,如何停止父请求,javascript,angular,typescript,angular2-template,Javascript,Angular,Typescript,Angular2 Template,我有下面类似的代码,我想如果我在子Div中单击,那么父Div click事件不应该触发 <div class="parentDiv" (click)="parentDiv()"> <div class="childDiv" (click)="childDiv()">Child Container</div> </div> 子容器 当我点击“childDiv”时,它首先触发“parentDiv()”事件,然后触发“childDiv()”事

我有下面类似的代码,我想如果我在子Div中单击,那么父Div click事件不应该触发

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

子容器
当我点击“childDiv”时,它首先触发“parentDiv()”事件,然后触发“childDiv()”事件

你能帮我解决这个问题吗


提前谢谢

这是您需要的
事件。stopPropagation()

在您的案例中发生的事情称为事件传播

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

以上是做这件事的方法

或者,如果您想要一个单线解决方案,请选择它

<div class="childDiv"
 (click)="childDiv(event);$event.stopPropagation()" >Child Container</div>
子容器

使用
事件.stopPropagation().childDiv

在Javascript中有一种称为事件冒泡的东西;当一个事件触发一个元素时,它也会触发它的所有父元素

这里有一个代码片段,显示所需的代码

document.getElementById(“parentDiv”).addEventListener(“单击”,函数(e){
警报(“parentDiv已单击”);
});
document.getElementById(“childDiv”).addEventListener(“单击”,函数(e){
e、 停止传播();
警报('childDiv clicked');
});

父容器
子容器
冒泡事件直接从目标元素开始。通常情况下,它会一直向上,直到
,然后到达document对象,有些事件甚至会到达window,调用路径上的所有处理程序

但任何处理程序都可以确定事件已被完全处理并停止冒泡

它的方法是
event.stopPropagation()

div{
光标:指针;
}
父Div
子容器

@AmbujKhanna很高兴知道这一点。请考虑接受这个答案。
childDiv(event) {
 event.stopPropagation();
}
<div class="childDiv"
 (click)="childDiv(event);$event.stopPropagation()" >Child Container</div>
<div class="parentDiv" (click)="parentDiv()">
   <div class="childDiv" (click)="$event.stopPropagation()">Child Container</div>
</div>