Mat-toggle-slide 触发器
Mat-toggle-slide Triggers
我有一个常规的 mat-slide-toggle,带有如下所示的点击事件:
<mat-slide-toggle (click)="do()" [(ngModel)]="checked"></mat-slide-toggle>
该组件由点击和空格键触发。但是使用空格键它不会触发点击事件。我该怎么做?
并且在可访问性方面。空格键触发不回车键触发对吗?
But with the spacebar it doesn't trigger the click event. How can I do so?
您应该使用 (change)="do()"
,因为底层组件是 input type="checkbox"
。这应该涵盖所有输入类型。
And in terms of accessibility. It is right to trigger by spacebar and not with enter key?
是的,开关的操作方式与复选框相同,因此预期的键是 Space。 You can read more about expected behaviour of a role="switch"
element on MDN.
值得注意的是,如果 role="switch"
的基础组件是 <button>
那么您可以使用 (click)="do()"
并且它将与 一起使用 Enter,但在 material 库组件中情况并非如此(尽管知道您是否曾经制作过自己的组件很有用!)。
我有一个常规的 mat-slide-toggle,带有如下所示的点击事件:
<mat-slide-toggle (click)="do()" [(ngModel)]="checked"></mat-slide-toggle>
该组件由点击和空格键触发。但是使用空格键它不会触发点击事件。我该怎么做?
并且在可访问性方面。空格键触发不回车键触发对吗?
But with the spacebar it doesn't trigger the click event. How can I do so?
您应该使用 (change)="do()"
,因为底层组件是 input type="checkbox"
。这应该涵盖所有输入类型。
And in terms of accessibility. It is right to trigger by spacebar and not with enter key?
是的,开关的操作方式与复选框相同,因此预期的键是 Space。 You can read more about expected behaviour of a role="switch"
element on MDN.
值得注意的是,如果 role="switch"
的基础组件是 <button>
那么您可以使用 (click)="do()"
并且它将与 一起使用 Enter,但在 material 库组件中情况并非如此(尽管知道您是否曾经制作过自己的组件很有用!)。