• 회원가입
  • 로그인
  • 구글아이디로 로그인

[DOM] JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListener메서드 = 애드이벤트리스너 메서드)

목차
  1. addEventListener() 예제 - 클릭 이벤트 걸기
  2. addEventListener() 정의
  3. addEventListener() 구문
  4. addEventListener() 예제 - 이벤트 1개 부착
  5. addEventListener() 예제 - 이벤트 다수 부착
  6. addEventListener() 예제 - window 객체에 이벤트 부착
  7. addEventListener() 예제 - 실행함수에 매개변수 전달

 

addEventListener() 예제 - 클릭 이벤트 걸기

 

<button id="homzzang">클릭</button>


<p id="demo"></p>


<script>

document.getElementById("homzzang").addEventListener("click", clickDate);


function clickDate() {

  document.getElementById("demo").innerHTML = Date();

}

</script>

 

결과보기

※ id='homzzang' 요소 클릭 시, clickDate() 함수 실행.

 

addEventListener() 정의

 

지정요소에 이벤트 핸들러 부착.

 



1.

기존 이벤트는 그대로 둔 상태에서, 요소에 새 이벤트 부착.

 

2.

하나의 요소에 많은 이벤트 핸들러 부착 가능.

 

3.

하나의 요소에 동일 이벤트 여러 개 부착 가능.

 

4.

HTML 요소뿐만 아니라 window 객체 등 모든 DOM 객체에 부착 가능.

 

5.

이벤트 버블링 (= 전이 = 확산)을 보다 쉽게 제어 가능.


6.

가독성을 높이기 위해 HTML 태그와 분리되어 있으며, HTML 태그 제어 안 해도 추가 가능.

 

7.

removeEventListener() 메서드 사용해 쉽게 제거 가능.

 

8.

jQuery 경우, on() 메서드 이용.

 

 

addEventListener() 구문

 

element.addEventListener(event, function, useCapture);

 


[매개변수]

 

event

필수. 이벤트 (예) click, mousedown
주의: 이벤트명 적을 때 on 접두어 안 붙임.

function

필수. 이벤트 발생 시 호출 (= 실행)할 함수

주의: 함수명만 적을 땐, () 없이 함수명만 적음. (2번째 예제 참고)

 

useCapture

선택. 이벤트 확산 여부 참거짓. (1: 확산방지, 0: 확산허락)

 

 

addEventListener() 예제 - 이벤트 1개 부착

[방법1] - 익명함수 이용 

 

<button id="hz">클릭</button>


<script>

document.getElementById("hz").addEventListener("click", function() {

  document.write("홈짱닷컴 Homzzang.com");

});

</script>

 

결과보기


[방법2] - 함수명 이용 (일반적)

 

<button id="hz">클릭</button>


<script>

document.getElementById("hz").addEventListener("click", site);

function site() {

  document.write("홈짱닷컴 Homzzang.com");

}

</script>

 

결과보기

 

addEventListener() 예제 - 이벤트 다수 부착

1. 같은 이벤트 여러개 부착 

 

<button id="hz">클릭</button>

<h1 id="h1"></h1>


<script>

var x = document.getElementById("hz");

var h1 = document.getElementById("h1");

  

x.addEventListener("click", name);

x.addEventListener("click", host);


function name() {

  h1.innerHTML ="홈짱닷컴";

}

function host() {

  h1.innerHTML +="<br>Homzzang.com";

}

</script>

 

결과보기


2. 다른 이벤트 여러개 부착

 

<button id="hz">클릭</button>

<p id="p1"></p>


<script>

var x = document.getElementById("hz");
var p1 = document.getElementById("p1");

 

x.addEventListener("mouseover", e_over);

x.addEventListener("click", e_click);

x.addEventListener("mouseout", e_out);


function e_over() {

  p1.innerHTML += "홈짱닷컴<br>";

}


function e_click() {

  p1.innerHTML += "Homzzang.com<br>";

}


function e_out() {

  p1.innerHTML += "홈페이지 제작관리<br>";

}

</script>

 

결과보기

 

addEventListener() 예제 - window 객체에 이벤트 부착

 

addEventListener() 메서드 사용하면 어떤 HTML DOM 객체에든 이벤트리스너  부착 가능.

(예)
HTML 요소, HTML 문서, windown 객체, 이벤트를 지원하는 기타 객체 (예: xmlHttpReques 객체) 

 


[예제]
 

<p id="demo"></p>


<script>

var x = "홈짱닷컴 Homzzang.com <br>"

window.addEventListener("resize", hz); // 창 크기 조절 시 hz 함수 실행

function hz(){

  document.getElementById("demo").innerHTML = x + Math.random();

}

</script>

 

결과보기

 

addEventListener() 예제 - 실행함수에 매개변수 전달

 

익명함수 이용.

 


 

<button id="hz">클릭</button>


<p id="demo"></p>


<script>

var my = "홈짱닷컴 Homzzang.com<br>"

var p1 = 3;

var p2 = 4;


document.getElementById("hz").addEventListener("click", function() {

  calc(p1, p2);

});


function calc(a, b) {

  var result = a * b;

  document.getElementById("demo").innerHTML = my +result;

}

</script>

 

결과보기


 

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012