JS 튜토리얼

제이에스 홈 JS 소개 JS 어디로 JS 출력 JS 문 JS 구문 JS 코멘트 JS 변수 제이에스렛 JS 상수 JS 연산자 JS 산술 JS 할당 JS 데이터 유형 JS 함수 JS 객체 JS 이벤트 JS 문자열 JS 문자열 메서드 JS 문자열 검색 JS 문자열 템플릿 JS 번호 JS 숫자 메서드 JS 배열 JS 배열 메서드 JS 배열 정렬 JS 배열 반복 JS 배열 상수 JS 날짜 JS 날짜 형식 JS 날짜 가져오기 메서드 JS 날짜 설정 방법 JS 수학 JS 랜덤 JS 부울 JS 비교 JS 조건 JS 스위치 JS 루프 In에 대한 JS 루프 의 JS 루프 JS 루프 동안 JS 브레이크 JS 이터러블 JS 세트 JS 맵 JS 유형 JS 유형 변환 JS 비트와이즈 JS 정규 표현식 JS 오류 JS 범위 JS 호이스팅 JS 엄격 모드 JS 이 키워드 JS 화살표 함수 JS 클래스 JS JSON JS 디버깅 JS 스타일 가이드 JS 모범 사례 JS 실수 JS 성능 JS 예약어

JS 버전

JS 버전 JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE / 엣지 JS 연혁

JS 객체

객체 정의 개체 속성 개체 메서드 개체 표시 개체 접근자 객체 생성자 개체 프로토타입 객체 반복 가능 객체 세트 객체 맵 개체 참조

JS 함수

기능 정의 기능 매개변수 함수 호출 함수 호출 기능 적용 함수 클로저

JS 클래스

수업 소개 클래스 상속 클래스 정적

JS 비동기

JS 콜백 JS 비동기 JS 약속 JS 비동기/대기

JS HTML DOM

DOM 소개 DOM 메서드 DOM 문서 DOM 요소 DOM HTML DOM 양식 DOM CSS DOM 애니메이션 DOM 이벤트 DOM 이벤트 리스너 DOM 탐색 DOM 노드 DOM 컬렉션 DOM 노드 목록

JS 브라우저 BOM

JS 창 JS 화면 JS 위치 JS 연혁 JS 네비게이터 JS 팝업 경고 JS 타이밍 JS 쿠키

JS 웹 API

웹 API 소개 웹 양식 API 웹 기록 API 웹 스토리지 API 웹 작업자 API 웹 가져오기 API 웹 지리적 위치 API

JS 아약스

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

JS JSON

JSON 소개 JSON 구문 JSON 대 XML JSON 데이터 유형 JSON 구문 분석 JSON 문자열화 JSON 객체 JSON 배열 JSON 서버 JSON PHP JSON HTML JSON JSONP

JS 대 jQuery

jQuery 선택기 제이쿼리 HTML 제이쿼리 CSS 제이쿼리 DOM

JS 그래픽

JS 그래픽 JS 캔버스 JS 플로틀리 JS 차트.js JS 구글 차트 JS D3.js

JS 예제

JS 예제 JS HTML DOM JS HTML 입력 JS HTML 객체 JS HTML 이벤트 JS 브라우저 JS 편집기 JS 연습 JS 퀴즈 JS 인증서

JS 참조

자바스크립트 객체 HTML DOM 객체


자바스크립트 HTML DOM 이벤트 리스너


addEventListener() 메서드

예시

사용자가 버튼을 클릭할 때 발생하는 이벤트 리스너를 추가합니다.

document.getElementById("myBtn").addEventListener("click", displayDate);

메서드 는 addEventListener()지정된 요소에 이벤트 핸들러를 연결합니다.

addEventListener()메서드는 기존 이벤트 핸들러를 덮어쓰지 않고 이벤트 핸들러를 요소에 연결합니다.

하나의 요소에 여러 이벤트 핸들러를 추가할 수 있습니다.

동일한 유형의 여러 이벤트 핸들러를 하나의 요소(예: 두 개의 "클릭" 이벤트)에 추가할 수 있습니다.

HTML 요소뿐만 아니라 모든 DOM 개체에 이벤트 리스너를 추가할 수 있습니다. 즉, 창 개체.

addEventListener()메서드를 사용하면 이벤트가 버블링에 반응하는 방식을 더 쉽게 제어할 수 있습니다.

메서드를 사용할 때 addEventListener()JavaScript는 HTML 마크업과 분리되어 가독성을 높이고 HTML 마크업을 제어하지 않는 경우에도 이벤트 리스너를 추가할 수 있습니다.

removeEventListener()메소드 를 사용하여 이벤트 리스너를 쉽게 제거할 수 있습니다 .


통사론

element.addEventListener(event, function, useCapture);

첫 번째 매개변수는 이벤트 유형(예: " click" 또는 " mousedown" 또는 기타 HTML DOM 이벤트 )입니다.

두 번째 매개변수는 이벤트가 발생할 때 호출하려는 함수입니다.

세 번째 매개변수는 이벤트 버블링 또는 이벤트 캡처를 사용할지 여부를 지정하는 부울 값입니다. 이 매개변수는 선택 사항입니다.

이벤트에 "on" 접두사를 사용하지 않습니다. " click"대신에 " onclick"를 사용하십시오.


요소에 이벤트 핸들러 추가

예시

"Hello World!" 경고 사용자가 요소를 클릭할 때:

element.addEventListener("click", function(){ alert("Hello World!"); });

외부 "명명된" 함수를 참조할 수도 있습니다.

예시

"Hello World!" 경고 사용자가 요소를 클릭할 때:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


동일한 요소에 많은 이벤트 핸들러 추가

addEventListener()방법을 사용하면 기존 이벤트를 덮어쓰지 않고 동일한 요소에 많은 이벤트를 추가할 수 있습니다.

예시

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

동일한 요소에 다른 유형의 이벤트를 추가할 수 있습니다.

예시

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

창 개체에 이벤트 처리기 추가

addEventListener()메서드를 사용하면 HTML 요소, HTML 문서, 창 개체 또는 개체와 같이 이벤트를 지원하는 기타 개체와 같은 HTML DOM 개체에 이벤트 리스너를 추가할 수 있습니다 xmlHttpRequest.

예시

사용자가 창 크기를 조정할 때 발생하는 이벤트 리스너를 추가합니다.

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

매개변수 전달

매개변수 값을 전달할 때 매개변수와 함께 지정된 함수를 호출하는 "익명 함수"를 사용하십시오.

예시

element.addEventListener("click", function(){ myFunction(p1, p2); });

이벤트 버블링 또는 이벤트 캡처?

HTML DOM에서 이벤트 전파에는 버블링과 캡처의 두 가지 방법이 있습니다.

이벤트 전파는 이벤트가 발생할 때 요소 순서를 정의하는 방법입니다. <div> 요소 안에 <p> 요소가 있고 사용자가 <p> 요소를 클릭하면 어떤 요소의 "click" 이벤트가 먼저 처리되어야 합니까?

버블링 에서는 가장 안쪽 요소의 이벤트가 먼저 처리된 다음 바깥쪽 이벤트가 처리됩니다. <p> 요소의 클릭 이벤트가 먼저 처리된 다음 <div> 요소의 클릭 이벤트가 처리됩니다.

캡처 에서 가장 바깥쪽 요소의 이벤트가 먼저 처리된 다음 내부: <div> 요소의 클릭 이벤트가 먼저 처리된 다음 <p> 요소의 클릭 이벤트가 처리됩니다.

addEventListener() 메서드를 사용하면 "useCapture" 매개변수를 사용하여 전파 유형을 지정할 수 있습니다.

addEventListener(event, function, useCapture);

기본값은 버블링 전파를 사용하는 false이며 값이 true로 설정되면 이벤트가 캡처 전파를 사용합니다.

예시

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

removeEventListener() 메서드

removeEventListener()메서드는 addEventListener() 메서드로 연결된 이벤트 핸들러를 제거합니다.

예시

element.removeEventListener("mousemove", myFunction);

HTML DOM 이벤트 객체 참조

모든 HTML DOM 이벤트 목록을 보려면 전체 HTML DOM 이벤트 개체 참조 를 확인 하세요.


연습으로 자신을 테스트하십시오

연습:

eventListener요소 에 onclick 이벤트를 할당하는 데 사용합니다 <button>.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>