티스토리 뷰
addEventListener()는 documnet 요소에 event를 부여할 때 사용.
addEventListener(event, 실행할 함수) 로 정의한다. 총 3가지의 방법으로 정의할 수 있다.
- button.addEventListener('이벤트', 함수명)
- button.addEventListener('이벤트', 익명함수정의);
- button.addEventListener('이벤트', ()=>{});
대부분 화살표 함수를 사용하여 정의한다.
var button = document.getElementById('btn');
function clickButton() {
alert("버튼을 클릭하였습니다.");
}
// case 1
button.addEventListener('click', clickButton);
// case 2
button.addEventListener('click', function() {
alert("버튼을 클릭하였습니다.");
});
// case 3
button.addEventListener('click', ()=> {
alert("버튼을 클릭하였습니다.")
})
자주 사용하는 이벤트의 종류
* UI Event *
- load: 페이지가 가지고 있는 모든 요소(이미지, 스크립트 및 광고)가 전부 로드되었을때만 발생함.
window.addEventListener('load', setup, false);
- unload: 웹 페이지가 언로드될 때 다른 페이지로 이동하거나 탭을 닫을 때 발생함.
- error: 브라우저가 자바스크립트 오류를 만났거나 요청한 자원이 존재하지 않는 경우 발생함.
- scroll: 스크롤바를 드래그하거나 키보드, 마우스휠로 스크롤 할 때 발생함. 전체 페이지 뿐만 아니라 특정 요소(스크롤바 가진 textarea)에서도 적용
* KeyBoard Event *
- input: input/textarea요소 값이 변경될 때 발생함.
- keydown: 사용자가 키를 처음 눌렀을 때 (키가 눌린 동안은 계속해서 발생함)
- keypress: 사용자가 눌렀던 키의 문자가 입력되었을 때 발생함.
- keyup: 키보드 키 눌렀다 뗄 때. 화면에 문자가 나타난 이후에 발생함.
* Mouse Event *
- click: 마우스 버튼을 눌렀다 뗄 때 발생함.
- mouseover: 요소 위로 마우스를 움직였을 때 발생함.
- mouseout: 요소 바깥으로 마우스를 움직였을 때 발생함.
- mouseup: 눌렀던 마우스 버튼을 뗄 때 발생함.
- mousedown: 마우스 버튼을 누르고 있을 때 발생함.
* Focus Event *
- focus: 해당 HTML 요소가 포커스를 얻었을 때 발생함.
- blur: 해당 HTML 요소가 포커스를 잃었을 때 발생함.
click
See the Pen click by HOYOUNG JUNG (@ghrnwjd) on CodePen.
mouseover, mouseout
See the Pen js mouseover mouseout by HOYOUNG JUNG (@ghrnwjd) on CodePen.
focus, blur
See the Pen js focus/blur by HOYOUNG JUNG (@ghrnwjd) on CodePen.
keydown
See the Pen js keydown by HOYOUNG JUNG (@ghrnwjd) on CodePen.
scroll
See the Pen Untitled by HOYOUNG JUNG (@ghrnwjd) on CodePen.
change
See the Pen js change by HOYOUNG JUNG (@ghrnwjd) on CodePen.
참고자료
https://kyounghwan01.github.io/blog/JS/JSbasic/addEventListener/
'📦 개발 > JavaScript' 카테고리의 다른 글
[JAVASCRIPT] html elements (0) | 2023.02.04 |
---|---|
[JAVASCRIPT] var, let, const 비교 (0) | 2023.02.02 |
[JAVASCRIPT] onload() (0) | 2023.01.11 |
[JAVASCRIPT] 이론 2 (0) | 2023.01.04 |
[JAVASCRIPT] 이론 1 (0) | 2023.01.03 |