JavaScript

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

  • 기존 이벤트는 그대로 둔 상태에서, 요소에 새 이벤트 부착.
  • 하나의 요소에 많은 이벤트 핸들러 부착 가능.
  • 하나의 요소에 동일 이벤트 여러 개 부착 가능.
  • HTML 요소뿐만 아니라 window 객체 등 모든 DOM 객체에 부착 가능.
  • window 객체에 대해서 적용 시, window 객체는 표기 생략 가능.
  • 이벤트 버블링 (= 전이 = 확산)을 보다 쉽게 제어 가능.
  • 가독성을 높이기 위해 HTML 태그와 분리되어 있으며, HTML 태그 제어 안 해도 추가 가능.

 

2.

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

 

3.

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>

 

결과보기


 


분류 제목
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 데이터 불러와 표만들기)
AJAX JS - AJAX - PHP 아작스 예제 ★ (= 입력제시어 = 입력예제)
AJAX JS - AJAX - ASP 아작스 예제 (= 입력제시어 = 입력예제)
AJAX JS - AJAX - DB 아작스 예제 ★ (= 데이터베이스 정보 가져오기) ※ select 태그 optio…
JSON JS - JSON - Introduction (소개)
JSON JS - JSON - Syntax (구문) ★
JSON JS - JSON - JSON vs XML (언어비교)
JSON JS - JSON - Data Types (데이터타입)
JSON JS - JSON - Object (객체)
JSON JS - JSON - Array (배열)
JSON JS - JSON - JSON.parse() 함수 ★ - (JSON문자열 → JS객체) 변환. (= 웹서버와…
6/89
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드 1
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱닷컴 PC버전 로그인