首页 > 解决方案 > 角度材料复选框:检查标签中的链接时防止波纹

问题描述

我有一个 Angular (10) Material 复选框,标签中有一个链接,该链接有一个点击处理程序来打开一个包含参考信息的对话框:

 <mat-checkbox formControlName="certification">
          By checking this box, I certify that all shipment information provided is correct and I agree to adhere to the
          <span class="fake-link" (click)="openUspsPrivacyAgreement($event)"> USPS Privacy Act Statement </span> and all
          other country-specific requirements.
        </mat-checkbox>

我的点击处理程序是

  openUspsPrivacyAgreement(event: MouseEvent) {
    this.dialogService.open(DialogUspsPrivacyAgreementComponent);
    event.preventDefault();
    event.stopPropagation();
  }

它的工作原理是打开对话框并且未选中复选框,这就是我想要的。

但是,无论如何都会在复选框上触发涟漪。有没有办法在我点击我的文本时防止涟漪但在点击复选框时它可以工作?

我认为我所做的就足够了,因为它确实阻止了点击进入复选框并选中它。

标签: javascriptangularangular-material

解决方案


添加

<mat-checkbox>Checked 1</mat-checkbox>

到源代码中的 app.component 并且它仍然具有“悬停”效果,可以通过 CSS 将其禁用。

解决方法是:

.mat-ripple { display: none; }

.mat-checkbox-ripple仅用于复选框


推荐阅读