별의 공부 블로그 🧑🏻‍💻
728x90
728x170

* 이벤트

- 마우스 커서를 웹상의 이미지에 올려 놓으면 그 이미지가 바뀌는 일이 있음.

- 이러한 웹 페이지에서는 '마우스 커서가 위에 있다'라는 이벤트를 처리하여 이미지를 바꾸고 있는 것임.

 

* 이벤트 핸들러

- 이벤트에 반응하여 처리를 수행하려면 이벤트 핸들러를 정의해야 함.

- 예)

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head> ... </head>
<body>
<img src="c_1.png"
    onmouseover="this.src='c_2.png'"
    onmouseout="this.src='c_1.png'"> // 이 요소의 src 속성을 설정함.
</body>
</html>
cs

- 이벤트 핸들러의 내용이 안에서 false로 반환되면 (return false) 디폴트로 정의되어 있는 처리가 수행되지 않음.

- 이미지에 마우스 커서를 올려 놓으면 mouseover 이벤트가 발생함.

- 이에 대한 이벤트 핸들러가 onmouseover 이벤트 핸들러.

- 커서를 때면 mouseout 이벤트가 발생하고 onmouseout 이벤트 핸들러가 호출됨.

- this는 자기 자신의 요소 오브젝트를 나타내는 키워드임.

 

* 이벤트 핸들러의 종류

- 이벤트명은 이벤트 핸들러명에서 on을 떼면 됨.

 

카테고리 

이벤트 핸들러

 내용

 페이지 읽기

 onload

 페이지나 이미지 읽기가 완료됨.

 onunload

 창을 닫음, 다른 페이지로 전환함, 페이지가 변경됨.

 onabort

 페이지나 이미지 읽기가 중단됨.

 onerror

 페이지나 이미지 읽기 중 오류가 발생함.

 창/페이지

 onresize

 창이나 요소의 크기가 변경됨.

 oncontextmenu

 컨텍스트 메뉴(Windows의 경우 오른쪽 버튼을 클릭했을 때 나타나는 메뉴)의 표시가 요청됨.

 onfocus

 페이지나 폼 요소에 포커스가 맞춰짐.

 onblur

 페이지나 폼 요소에서 포커스가 사라짐.

폼 요소 

 onsubmit

 폼을 전송하려고 함.

 onreset

 폼이 리셋됨.

 onchange

 폼 요소의 선택, 입력 내용이 변경됨.

 onselect

 텍스트가 선택됨.

 마우스

 onclick

 요소나 링크를 클릭함.

 ondblclick

 요소를 더블 클릭함.

 onmouseodown

 마우스 버튼을 누름.

 onmouseup

 마우스 버튼을 뗌.

 onmouseover

 마우스 커서가 요소 위에 올려져 있음.

 onmouseout

 마우스 커서가 요소를 벗어남.

 onmousemove

 마우스를 움직이고 있음.

 키보드

 onkeypress

 키를 눌렀을 때 연속적으로 발생함.

 onkeyup

 누르고 있던 키를 뗌.

 onkeydown

 키를 누름.

 

* 이벤트 핸들러를 나중에 정의하기

- JavaScript 코드 안에서 이벤트 핸들러를 정의하는 일도 가능함.

- 예를 들어 페이지를 읽어 들일 때 처리를 수행하는 방법에는 아래와 같은 두 가지가 있음.

- 뒤의 방법은 이벤트 핸들러를 덮어 쓰는 것이 아니라 추가한다는 점이 다른 방법과 다름.

 

 var e = getElementByTagName("body")[0];

 e.onload = "처리 내용"

 

var e = getElementByTagName("body")[0];

e.addEventListener("load", function() {처리 내용}, false};

 

1) addEventListener() 메서드

- 이벤트 핸들러를 추가함.

- IE에서는 지원하지 않으므로 그 대신 attachEvent("onload", function() {처리 내용})으로 작성함.

 

2) 부모 요소에 이벤트를 전파시키는 경우는 false, 하지 않는 경우는 true를 지정함. 보통은 false로 지정함.

 

내용 출처 : HTML5가 보이는 그림책 (ANK Co., Ltd 저, 성안당)

728x90
그리드형(광고전용)

'Programming > JavaScript' 카테고리의 다른 글

브라우저 객체 모델(BOM)  (0) 2017.05.20
객체 / 내장객체  (0) 2017.05.20
자바스크립트 기초 문법  (0) 2017.05.20
쿠키(Cookie)  (0) 2017.05.18
JavaScript의 메서드  (0) 2017.05.18
요소의 참조  (0) 2017.05.17
DOM이란?  (0) 2017.05.17
JavaScript란?  (0) 2017.05.17
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️


📖 Contents 📖