#angular #angular6
#angular #angular6
Вопрос:
У меня проблема, когда я пытаюсь нажать функцию esc, чтобы закрыть полноэкранный режим моего приложения. Полноэкранный режим и закрытие полноэкранного режима уже работают. Но проблема в том, что когда я нахожусь в полноэкранном режиме и пытаюсь нажать esc, он закрывает полноэкранный режим, но слово «Открыть» все еще отображается. Пожалуйста, смотрите мои коды ниже. Пожалуйста, нажмите также на мою ссылку stackblizk здесь https://stackblitz.com/edit/fullscreen-closefullscreen?file=src/app/app.component.ts
@HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {
this.closeFullscreen();
}
<ul class="navbar-nav">
<li class="nav-item mr-2 d-none d-lg-block">
<a *ngIf="toggleClass === 'ft-maximize'" href="javascript:;" class="nav-link" (click)="openFullscreen()">
Open
</a>
<a *ngIf="toggleClass === 'ft-minimize'" href="javascript:;" class="nav-link" (click)="closeFullscreen()">
Close
</a>
</li>
</ul>
Комментарии:
1. какой браузер вы использовали? Я нажимаю esc, он показывает закрытие?
2. @HienNguyen. да, она закрывается при нажатии esc, но слово «Открыть» все еще появляется. Это должно быть «Закрыть»
3. Я пробовал в вашем stackbliz, он показывает закрытый текст
4. Да, при нажатии открытого слова отображается текст закрытия, НО при нажатии esc появляется слово Закрыть, а не открыть
Ответ №1:
Не уверен, что вы можете исправить эту проблему. У меня такой же случай с вами, и я исправляю @HostListener
его, как показано ниже.
@HostListener('document:fullscreenchange', ['$event'])
@HostListener('document:webkitfullscreenchange', ['$event'])
@HostListener('document:mozfullscreenchange', ['$event'])
@HostListener('document:MSFullscreenChange', ['$event'])
fullscreenmode(){
if(this.toggleClass == 'ft-minimize'){
this.toggleClass = 'ft-maximize';
}
else{
this.toggleClass = 'ft-minimize';
}
console.log(this.toggleClass)
}
Демонстрация: https://stackblitz.com/edit/fullscreen-closefullscreen-qbickg?file=src/app/app.component.ts