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

[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)

분류 제목
Basic JS - Home (JS입문) + Javascript Framework (프레임워크) 종류
Basic JS - Intro (JS소개)
Basic JS - Where To (JS위치) - JS구문 / JS코드위치 / JS사용법 ※ JS외부링크 주의사항
Basic JS - Output (JS출력= JS쓰기) ★★★★★
Basic JS - Syntax (JS구문) ★
Basic JS - Statement (JS구문= JS명령문)
Basic JS - Comment (JS주석)
Basic JS - Variable (JS변수) ★★★★★
Basic JS - Operator (연산자) - JS연산자 ★★★★★
Basic JS - Data Type - 데이터유형 ★★★★★ (= 데이터형식 = 데이터타입 = 데이터종류 = 자료형…
Basic JS - Function - JS함수 ★★★★★ ※ 일반함수 특징 2
Basic JS - Object - JS객체 ★★★★★
Basic JS - Scope - JS유효범위 (= JS접근범위 = 변수 종류) ★★★★★★★★★★
Basic JS - Event - JS이벤트 (= JS코드실행방법) ★★★★★
Basic JS - Strings - JS문자열
Basic JS - String Methods - JS문자열메서드
Basic JS - Number - JS숫자
Basic JS - Number Method - JS숫자메서드
Basic JS - Math 객체 - JS수학객체 (= JS산수객체 = Math객체 = Math Object = 매스 …
Basic JS - Dates - JS날짜
1/67
목록
찾아주셔서 감사합니다. Since 2012