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

[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 - DOM (= 돔 = 문서객체모델) 정의
DOM JS - Method - 메서드 (= HTML 요소에 대한 수행 작업)
DOM JS - Document - 문서객체
DOM JS - Element Selector - 주요 요소선택자 (= 객체찾기) ※ JS외부링크호출 주의사항
DOM JS - HTML - 내용입력/내용변경/속성값변경(=속성값입력)
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요소묶음)
DOM JS - NodeList 속성 - 노드리스트 (= 노드목록)
목록
찾아주셔서 감사합니다. Since 2012