防止垫子扩展面板被空格键切换



我已经尝试了以下代码,onFilterKeyboard也被调用,但 SPACE 键仍然有效。

<mat-expansion-panel-header (keydown)="onFilterKeyboard($event);">
  <mat-panel-title (keydown)="onFilterKeyboard($event);">
    <div (keydown)="onFilterKeyboard($event);">{{aFilter.name}}</div>
  </mat-panel-title>
</mat-expansion-panel-header>

在 JS 中:

onFilterKeyboard(event) {
  event.preventDefault();
  event.stopImmediatePropagation();
  event.stopPropagation();
}

您可以尝试将其添加到组件的constructorngOnInit中:

document.addEventListener('keydown', (event) => {
  if (event.keyCode == 32) { // 32 is space bar key code
    event.stopPropagation();
  }
});

(keydown.空格(="onFilterKeyboard($event(;"工作。它将创建一个伪事件。有关伪事件的更多信息,请参阅 https://medium.com/claritydesignsystem/angular-pseudo-events-d4e7f89247ee

最新更新