본문 바로가기
Web/JAVASCRIPT

이벤트 리스너

by print_soo 2023. 7. 13.

addEventListener

document.getElementById('해당 아이디').addEventListener('이벤트(예를 들면 클릭, 키입력, 스크롤 등등)', function(){
	// 실행할 내용
});

이벤트 종류들

  • 마우스 관련
    • click – 마우스버튼을 클릭하고 버튼에서 손가락을 떼면 발생한다.
    • mouseover – 마우스를 HTML요소 위에 올리면 발생한다.
    • mouseout – 마우스가 HTML요소 밖으로 벗어날 때 발생한다.
    • mousedown – 클릭을 하기 위해 마우스버튼을 누르고 아직 떼기 전인 그 순간, HTML요소를 드래그할 때 사용할 수 있다.
    • mouseup – 마우스버튼을 떼는 그 순간, 드래그한 HTML요소를 어딘가에 놓을 때 사용할 수 있다.
    • mousemove – 마우스가 움직일때마다 발생한다. 마우스커서의 현재 위치를 계속 기록하는 것에 사용할 수 있다.
  • 포커스 관련
    • focus – HTML요소에 포커스가 갔을때 발생한다.
    • blur – HTML요소가 포커스에서 벗어났을때 발생한다.
    • focusin
    • focusout
  • 키보드 관련
    • keypress – 키를 누르는 순간에 발생하고 키를 누르고 있는 동안 계속해서 발생한다.
    • keydown – 키를 누를 때 발생한다.
    • keyup – 키를 눌렀다가 떼는 순간에 발생한다.
  • 브라우저 관련
    • load – 웹페이지에서 사용할 모든 파일의 다운로드가 완료되었을때 발생한다.
    • resize – 브라우저 창의 크기를 조절할때 발생한다.
    • scroll – 스크롤바를 드래그하거나 키보드(up, down)를 사용하거나 마우스 휠을 사용해서 웹페이지를 스크롤할 때 발생한다. 페이지에 스크롤바가 없다면 이벤트는 발생하지 않다.
    • unload – 링크를 클릭해서 다른 페이지로 이동하거나 브라우저 탭을 닫을 때 혹은 브라우저 창을 닫을 때 이벤트가 발생한다.
  • 폼 관련
    • input <input>,<textarea>요소 값이 변경되었을 때
    • change – 폼 필드의 상태가 변경되었을 때 발생한다. 라디오 버튼을 클릭하거나 셀렉트 박스에서 값을 선택하는 경우를 예로 들수 있다.
    • submit 사용자가 버튼키를 이용하여 폼을 제출할 때
    • reset 리셋 버튼을 클릭할 때
    • cut 폼 필드의 콘텐츠를 잘라내기 했을 때
    • copy 폼 필드의 콘텐츠를 복사했을 때
    • paste 폼 필드의 콘텐츠를 붙여넣을 때
    • select 텍스트를 선택했을 때

이벤트 리스너 활용

<!DOCTYPE html>
<head>
    <title></title>
    <link rel="stylesheet" href="main.css">
</head>
<body>

    <div class="alert-box" id="alert">
       <p id="alert-text"></p> 
        
        <button id="close">닫기</button>
    </div>

    <button onclick="alertOptionAndText('block', '아이디를 입력해주세요.');">버튼1</button>
    <button onclick="alertOptionAndText('block', '비밀번호를 입력해주세요');">버튼2</button>


    <script>
	// 이벤트 리스너 활용
        document.getElementById('close').addEventListener('click', function(){
            document.getElementById('alert').style.display = 'none';
        });

        function alertOptionAndText(option, text) {
            document.getElementById('alert').style.display = option;
            document.getElementById('alert-text').innerHTML = text
        }

    </script>

</body>
</html>

'Web > JAVASCRIPT' 카테고리의 다른 글

모달창만들기와 간단한 애니메이션  (0) 2023.07.15
jQuery  (0) 2023.07.13
서브메뉴 만들어보기와 classList 다루기  (1) 2023.07.12
function의 파라미터 문법  (0) 2023.07.12
자바스크립트 function 문법 사용법  (0) 2023.07.12