# KeyboardEvent

10개의 포스트
post-thumbnail

⭐️Events

Event 추가 , 제거 .addEventListener() 대상에 이벤트 청취(Listen)을 등록합니다. 대상에 지정한 이벤트가 발생했을때 지정한 함수(handler)가 호출됩니다. .removeEventListener() 대상에 등록했던 이벤트 청취(Listen)를 제거합니다. 메모리 관리를 위해 등록한 이벤트를 제거하는 과정이 필요할수도 있습니다. 이벤트객체 이벤

2023년 8월 1일
·
0개의 댓글
·
post-thumbnail

1. 드럼 🥁

목표 키보드 이벤트를 이용하여 눌린 키를 시각적으로 표시하고 키에 대응되는 드럼 소리를 재생해 보자. 레이아웃 만들기 HTML Code 바닐라 JS만을 사용할 것이기 때문에 HTML 레이아웃을 미리 만들고 시작한다. 화면에 표시되는 것은 배경 이미지와 키를 표시하기 위한 div 9개가 전부이기 때문에 간단하게 작성했다. 키에 audio와 같은 속성을 주기 위해 id 대신 data-key를 사용했다. 스크립트 작성 Keydown Handler 키보드 이벤트를 처리하는 여러 가지 방법이 있지만, code보다

2023년 7월 24일
·
0개의 댓글
·
post-thumbnail

Event-1(event type)

🍀 Event event의 사전적인 의미는 사건 이란 의미가 있다. 필요한 물품을 샀을 때 통장에서 돈이 빠져나가는 사건이 일어난다…🥲 돈이 빠져나가서 통장에 잔고가 얼마 없다면 어떻게 할까? 이 때 내가 할 수 있는 행동(처리)는 아래와 같은 옵션들이 있을 것이다. > event occur 돈이 없어지면 > option1 아낀다 > option2 일을 해서 번다 > option3 뻐긴다 > option4 사려고 한 목록 중 몇 개를 없앤다 > … > optionN 이렇게 보면 사건과 처리로 생각할 수 있다. > 사건: 돈이 빠져나감 > 처리: 돈이 생길 때까지 뻐김… 웹에서도 event란 같은 의미이다. 좀 더 구체적으로 말하자면 웹에서의 이벤트는 사용자가 웹 브라우저에서 발생시키는 사건을 뜻한다. 아래는 사용자가 웹에서 이벤트를 발생시키는 예시들이다. 브라우저에서 마우스 움직임 브라우저에서 마우스로 클릭할 때 브라우저 창 사이즈를 줄이거

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[TIL] onKeyDown 두 번 실행 / KeyboardEvent와 isComposing

onKeyDown 프리온보딩 기업 과제 수행 중 input창에 한글 입력 후 onKeyDown 이벤트 발생 시 해당 이벤트 핸들러가 두 번 호출되는 문제가 발생했다. (윈도우 사용자는 문제가 없었고, macOS 사용자에게 문제가 나타났다.) 이는 입력창에서 한글을 입력할 때 글자가 조합 중인지 조합이 끝났는지 확인할 수 없는 경우 발생하는 문제였다. 따라서 이를 확인하는 프로퍼티인 isComposing을 사용해 문제를 해결했다. 또한 React의 이벤트는 합성 이벤트이기 때문에 고유 이벤트인 isComposing을 사용하려면 nativeEvent 어트리뷰트를 참조해야 한다. React 공식 문서 참고 ![](https://velog.velcdn.com/images/jejeje/post/bb57a172-3381-4080-bb49-99b3bca56a73/image.

2023년 1월 14일
·
0개의 댓글
·
post-thumbnail

React에서 KeyboardEvent Type에서 e.target.value 사용시 에러 이슈

기존의 JS로 작성한 React 프로젝트에 TS를 적용하는 과정에서 생긴 Input태그 KeyboardEvent관련 이슈입니다. 위와 같이 Input에 onKeyDown 이벤트를 추가하려는 상황에서 event에 KeyboardEvent로 타입을 지정하게 되면 e.target.value 부분에서 다음과 같은 에러가 뜹니다. Property 'value' does not exist on type 'EventTarget'.ts(2339) 이런 에러메시지가 뜨는데 그 이유는, > 사용하려는 KeyboardEvent도 DOM 요소나 window 객체에서 발생할 수 있으므로, 이론적으로는 event.target을 요소로 정의하는 것은 의미가 없습니다. DOM 요소에 대한 이벤트라면 event.target을 안전하게 가정할 수 있습니다. 타겟이되는 HTMLElement의 타입을 TypeScript에 명시 적으

2022년 5월 14일
·
0개의 댓글
·

typescript -Input KeyboardEvent-

input에 onChange가 아닌 onKeyup을 사용할 때에는 typescript의 이밴트 타입이 달라진다.

2022년 3월 25일
·
0개의 댓글
·
post-thumbnail

211025 TIL

Overview 자바스크립트 공부 중 모르는 것, 혹은 완벽히 이해되지 않은 것에 대해 모아두고 차곡차곡 공부하기🤨 1. 처음 배운 것 🧐💨 keypress event 우선 해당 이벤트의 경우 deprecated가 됨. 대신 사용하는 beforeinput과 keydown을 살펴보자. beforeinput event interface: InputEvent 하단 태그에 주로 사용된다. 그 외에 contenteditable이 true거나 designMode가 on일 경우 사용 가능. 즉 해당되는 태그에 수정되는 부분이 있는 경우 이벤트가 실행된다. keydown event 거의 keypress 이벤트와 일치하지만 shift, Control, Alt/Meta 와 같은 키는 keydown으로만 접근가능. 키가 눌릴 때 사용되는 이벤트 두 이벤트의 예시 !codepen[yesslkim/embed/previ

2021년 10월 25일
·
0개의 댓글
·
post-thumbnail

[JS30] -10) Hold Shift Check Checkboxes

KeyboardEvent.shiftKey Shiftkey를 눌렀는지 안 눌렀는지 여부를 판별하기 위해 사용할 수 있는 메소드이다. 처음에 click이벤트와 shift keydown이벤트 두 개를 만들고 있었는데, 중첩해야 하는 부분이 있어 고민했었다. 이 API를 사용하면 정말 간단하게 구현할 수 있다. forEach로 모든 체크박스 element를 순회하면서 클릭했던 체크박스를 기준으로 체크해야 하는 체크박스를 toBeChecked변수로 표시하고, 만약 toBeChecked가 true라면 곧바로 checkd = true로 체크 표시한다. shiftkey를 누른 상태에서 체크박스를 클릭하면 toBeChecked가 false가 된다. > 강의 자료에서는 checkbox를 모두 선택한 뒤 클릭 이벤트를 등록한 다음, this값을 주었다. Reference https://developer.mozilla.org/en-US/docs/Web/API/Keyboard

2021년 10월 25일
·
0개의 댓글
·
post-thumbnail

[JavaScript] 키보드 이벤트(keyboard event)

시작 전 주절주절 인스타그램 클론 코딩 중 아이디와 비밀번호가 1자 이상일 때 로그인 버튼을 활성화되게 하라는 미션이 있었다. 구현을 하는데 아이디나 비밀번호 둘 중 하나가 2글자 될 때 버튼이 활성화가 되는 문제가 발생하였었다. 점심시간에 동기들에게 이 문제를 이야기하니 다른 한 동기가 자기는 제대로 작동이 된다고 말하는 것이다. 그래서 코드를 유심히 살펴보니 내 코드는 키보드 이벤트가 keydown이었고 다른 동기는 keyup 이었다. 키보드 이벤트를 keyup으로 바꾸니 해당 기능이 제대로 작동하게 되었고 다른 초보 개발자분들도 이런 문제를 겪을 수 있다고 생각해 키보드 이벤트(keyboard event)를 소개해 보도록 하려고 한다. 키보드 이벤트(keyboard event) 키보드 이벤트의 종류 > keydown : 키를 누를 때 실행, 누르고 있으면 계속 실행됨 keypress : 키를 누를 때 실

2021년 8월 12일
·
0개의 댓글
·

input 작성 중에 enter키 눌렀을 때 form이 전송되지 않도록 하기

문제 - 난 아직 쓰는 중이라고 전송하지 말라고 stackoverflow에서 아래와 같이 해결하라는 글을 봤는데 keyCode는 deprecated되어서 다시 찾아보았다. 해결 - KeyboardEvent.key 참고 https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

2021년 7월 31일
·
0개의 댓글
·