// 예시1
btn.onclick = function () {
console.log('버튼이 눌렸습니다!');
}
// 예시2
btn.addEventListener('click', function() {
console.log('버튼이 눌렸습니다!');
}
// 예시3
function handler() {
console.log('버튼이 눌렸습니다!');
}
btn.onclick = handler;
// 실수하기 쉬운 사례
// 사례1
btn.onClick = function () { // onClick(X) onclick(O)
console.log('버튼이 눌렸습니다!')
}
// 사례2
function handler() {
console.log('버튼이 눌렸습니다!');
}
btn.onclick = handler(); // 속성(onclick)에 이벤트 핸들러를 등록할 때에는 함수 그 자체로 등록해야 함!
<참고>
https://developer.mozilla.org/ko/docs/conflicting/Web/API/Element/keyup_event
https://developer.mozilla.org/ko/docs/Web/API/Element/keyup_event
https://www.daleseo.com/js-key-events/
// 비밀번호 매칭 검사 파트
let elInputPassword = document.querySelector('#password');
let elInputPasswordRecheck = document.querySelector('#password-retype')
let elMismatchMessage = document.querySelector('.mismatch-message')
elInputPasswordRecheck.onkeyup = function () {
if(isMatch(elInputPassword.value, elInputPasswordRecheck.value)) {
// 미스매치 메시지를 가린 상태로 놔둬(hide 상태 유지해줘)
elMismatchMessage.classList.add('hide');
} else {
// 미스매치 메시지를 보여줘(hide 제거해서)
elMismatchMessage.classList.remove('hide');
}
}
function isMatch (password1, password2) {
return password1 === password2;
}
// 생각나는 문제점
// 비밀번호 확인을 먼저 치고 비밀번호를 치면 메시지 작동이 제대로 안됨
이벤트 입문
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Building_blocks/Events
이벤트 참조
https://developer.mozilla.org/ko/docs/Web/Events
이벤트 버블링, 이벤트 캡처 그리고 이벤트 위임까지
https://joshua1988.github.io/web-development/javascript/event-propagation-delegation/
이벤트 리스너 (addEventListener)
https://developer.mozilla.org/ko/docs/Web/API/EventTarget/addEventListener
이벤트 객체 더 알아볼 것들
onsubmit, onchange, onmouseover, onkeyup, event.preventDefault
querySelector 에 대한 궁금증
코드도 유행 하는 스타일이 있음. 빨리 공부해서 적용해야 도태되지 않음
검색해보고 어떤 걸 발췌해서 빠르게 적용하느냐도 능력임
리액트와 인증보안에 대해 잘 해두어야 나중에 프론트 분야에서 경쟁력 생김
섹션4에서 좋은 내용들이 많은데 평균적인 수준만 소화해도 좋은 주니어가 될 수 있음
항상 최적화, 클린코드, 구글링을 핵심으로 삼고 일할 것
리액트 환경에서 유효성 검사를 잘 할 줄 알아야됨 (지금한거 나중에 리팩토링해보기)