onchange - 如何在更改 mat-checkbox 时调用函数时停止事件传播?

标签 onchange event-propagation

<mat-checkbox (change)="handleProductClick(children, $event)"  [(ngModel)] = "children.selected"
[name]="children.grpId" [id]="children.id"></mat-checkbox>

handleProductClick(selectedProd : Product, event: any)
{
  event.stopPropagation();
}

如果我使用单击功能而不是更改,则可以正常工作。虽然我无法使用click。我必须坚持改变。有没有一种方法可以从change函数调用stopPropagation?如果不是,我还能做些什么来阻止事件传播?

最佳答案

我知道了必须同时使用复选框和单击复选框。我已经尝试过了。唯一的区别是我在click方法中调用了一个函数,但从未调用过它。如果您在模板中的click方法上调用$ event.stopPropagation,则效果很好。奇怪的。以下答案解决了我的问题。 Angular 2 prevent click on parent when clicked on child
<mat-checkbox (change)="handleProductClick(children, $event)"[checked]="children.selected" (click)="$event.stopPropagation()" [name]="children.grpId" [id]="children.id"></mat-checkbox>

关于onchange - 如何在更改 mat-checkbox 时调用函数时停止事件传播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52081760/

相关文章:

当 <option> 从 <select> 中添加或删除时的 jquery 事件

jquery - 如何阻止 child 传播由实时/委托(delegate)监听器触发的事件?

gwt-query - 嵌套可拖动传播

javascript - 更改事件处理程序仅触发一次,jQuery

javascript - 在输入标签中的 onchange 事件上调用聚合函数

Javascript onchange 复选框取消

javascript - Jquery stopPropagation 不适用于复选框

javascript - jQuery 鼠标事件阻止默认传播

javascript - 如何在不使用 onclick 或 onmousedown 的情况下从 anchor 的 href 属性中停止事件传播

javascript - 动态添加的选择更改事件未注册