범위
2.0 Canvas Events
와... 오늘 이게 이해가 안돼서 이해하느라 이것저것 다 뒤지면서 공부 많이 했다.
추가 공부
1. 콜백 함수
MDN 정의에 따르면 콜백 함수는 다른 함수에 인자로 전달되는 함수이며, 외부 함수 내에서 일종의 루틴 또는 동작을 실행하기 위해 호출된다.
결과는 콘솔창에
'callback test'가 찍힌다
이때 콜백함수는 function two이다.
콜백 함수는 다른 함수에 인자로 전달되는 함수이며, 외부 함수 내에서 일종의 루틴 또는 동작을 실행하기 위해 호출된다.
2. addEventListener
여기서 type은 mousemove이고 listener는 onMouseMove라는 함수다.
근데 제일 궁금했던건 '도대체 저 popo는 누구한테 값을 받아오는가?'였다.
슬랙에 SOS요청 결과 도움을 받았다.
그리고 바닐라 JS로 크롬 앱 만들기 4.2강을 듣고 완전 이해가 갔다.
addEventListener는 내가 고른 타입 "mousemove"를 할 때 onMouseMove 함수를 실행시킬 것이다.
그런데 이 때 사랑스러운 JS가 그냥 함수를 실행시키는 것이 아니라 이벤트 값을 들고 올거임
이런거를 함께 들고옴

저 값들이 어디서 나오는가 했는데 그냥 addEventListener에 함께 포장되어 있는거라고 생각하면 될 것 같다.
3. 마우스 이벤트의 종류
출처: https://hianna.tistory.com/492
offset과 client값
offsetX, Y은 캔버스 부분과 관련있는 값이다.
clientX, Y는 윈도우 전체 범위 내에서 마우스 위치값을 나타냄
NOTE
If안에 넣어준 이유
캔버스가 있는 곳에서만 eventlistener를 킬 거니까
mouseup에는 stopPainting을 사용하지 않은 이유
니코쌤 설명: 나중에 line이 필요하기 때문
실제로 그리는 게 필요하니까 stopPainting을 사용하지 않음
(이 설명이 아직 이해가 가지 않음.. 다음에 다시 돌아 오겠음)
'노마드 코더 - 초급 > 바닐라 JS로 그림판 만들기' 카테고리의 다른 글
Array.from / forEach / NodeList, HTMLCollection, Array 차이점 (0) | 2022.03.07 |
---|---|
Canvas Context 공부 (0) | 2022.03.06 |
html 태그 단축키 / 버튼 all: unset; / 버튼 클릭 효과 / <input type="range" /> (0) | 2022.03.04 |
Reset CSS / HTML에 스타일 주기 / Shadow (0) | 2022.03.04 |
터미널로 깃허브 프로젝트 설정 (0) | 2022.03.02 |