Angular에서 CAPS-LOCK 켜기/끄기 이벤트 처리
2595 단어 angularmaterialjavascriptevent
아니르밤 / ng-capslock-데모
CAPS-LOCK-ON/OFF 메시지를 표시하는 방법을 보여주는 Angular 13.3.0 애플리케이션
이 데모에서 처리되는 몇 가지 시나리오가 있습니다.
ChangeDetectionStrategy
가 OnPush
인 경우 변경 감지를 실행합니다. 1과 2에 대해 알아보겠습니다.
By the way, I am on @angular/cli 13.3.0 and @angular/material 13.3.6. For the message, I have used
mat-hint
onmat-form-field
.
이를 달성하기 위해 (
@ViewChild
사용) 암호 필드의 참조를 가져온 다음 두 개의 이벤트 핸들러를 기본 HTMLInputElement
- keyup
및 mousedown
에 추가합니다.keyup
이벤트 핸들러는 사용자가 비밀번호 필드에 있는 동안 CAPS-LOCK 버튼을 전환할 때 메시지를 전환합니다. 이것은 KeyboardEvent
를 생성합니다.mousedown
이벤트 처리기는 사용자가 다른 곳에서 상태를 변경하고 응용 프로그램으로 다시 이동하여 암호 필드를 클릭할 때 메시지를 토글합니다. 이제 무언가를 입력하기 전에 정보가 제공되기 때문에 이것은 사용자에게 유익할 것입니다. 이것은 MouseEvent
를 통해 수행됩니다.몇 가지 개선 사항:
메모리 누수를 방지하려면 구성 요소가 소멸된 후 이러한 이벤트 핸들러를 제거해야 합니다.
ChangeDetectionStrategy
가 OnPush
로 설정된 경우 위의 이벤트 중 하나가 발생할 때마다 변경 감지를 위해 구성 요소를 표시해야 합니다. 따라서 이벤트 핸들러의 끝에서 다음을 사용하십시오.this.cdRef.markForCheck();
브라우저의 암호 관리자는 암호 데이터를 자동으로 채울 수 있습니다. 이것은 또한
keyup
이벤트를 발생시키지만 이것은 KeyboardEvent
의 인스턴스가 아니므로 getModifierState
메서드가 없습니다. 그래서 우리는 이것을 무시할 것입니다!if (event?.type === 'keyup' && !(event instanceof KeyboardEvent)) {
return;
}
건배!
나는 당신과 연결하고 싶습니다
Reference
이 문제에 관하여(Angular에서 CAPS-LOCK 켜기/끄기 이벤트 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anirbmuk/handle-caps-lock-onoff-event-in-angular-52go텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)