본문 바로가기
Front/jQuery

jQuery - 이벤트(마우스 이벤트, 동적 이벤트)

by Hyeon_ 2021. 12. 14.

이벤트 유형

  • 윈도우 이벤트
  • 입력 양식 이벤트
  • 마우스 이벤트
  • 키보드 이벤트

마우스 이벤트

마우스 이벤트 종류

  • click : 마우스를 클릭했을 때 발생

  • dbclick : 마우스를 더블 클릭했을 대 발생

  • mousedown : 마우스 버튼을 누를 때 발생

  • mouseup : 마우스 버튼을 뗄 때 발생

  • mouseenter : 마우스가 요소의 경계 외부에서 내부로 이동할 때 발생

  • mouseleave : 마우스가 요소의 경계 내부에서 외부로 이동할 때 발생

  • mousemove : 마우스를 움직일 때 발생

  • mouseout : 마우스가 요소를 벗어날 때 발생

  • mouseover : 마우스가 요소 안에 들어올 때 발생

  • hover : 마우스를 over 했을 때, out 했을 때 발생

  • contextmenu : 마우스 오른쪽 버튼을 클릭했을 때 발생

마우스 이벤트 예제

(1) .on(이벤트1).on(이벤트2)

mouseEvent.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
    <script src="jquery-3.6.0.min.js"></script>
    <script type="text/javascript"> 
        $(document).ready(function(){
            // 버튼 클릭했을 때
            $('#btn').on('click', function(){
                alert("클릭했습니다.");
            });

            // 2개의 이벤트 처리
            // 방법 1
            $('#btn')
                .on('mouseover', function(){
                    $(this).css('background', 'yellow');
                })
                .on('mouseout', function(){
                    $(this).css('background', "");
                }); // button on 종료
        });
    </script>
</head>
<body>
    <input type="button" value="클릭하세요" id="btn">
</body>
</html>

(2) .on({이벤트1, 이벤트2})

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
    <script src="jquery-3.6.0.min.js"></script>
    <script type="text/javascript"> 
        $(document).ready(function(){
            // 버튼 클릭했을 때
            $('#btn').on('click', function(){
                alert("클릭했습니다.");
            });

            // 방법2
            $('#btn').on({
                mouseover:function(){
                    $(this).css('background', 'pink');
                },
                mouseout:function() {
                    $(this).css('background', 'skyblue');
                }
            });
        });
    </script>
</head>
<body>
    <input type="button" value="클릭하세요" id="btn">
</body>
</html>

동적 이벤트 예제

dynamicEvent.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
    <script src="jquery-3.6.0.min.js"></script>
    <script type="text/javascript"> 
        $(document).ready(function(){
            // createBtn 클릭했을 때 새 버튼 2개 생성
            $('#createBtn').on('click', function(){
                $(this).after("<p><button id='newBtn1'>새 버튼1</button></p>" +
                              "<p><button id='newBtn2'>새 버튼2</button></p>");
            });

            // 정적 이벤트 연결 방식으로 이벤트 처리
            // 새로 생성된 요소에 이벤트 등록되지 않음 : 클릭해도 이벤트 처리 X
            $('#newBtn1').on('click', function(){
                alert("[새 버튼1]을 클릭했습니다"); // 반응하지 않음
            });

            // 동적 이벤ㅌ트 연결 방식으로 이벤트 처리
            $(document).on('click', '#newBtn2', function(){
                alert("[새 버튼2]를 클릭했습니다");
            });
        });

    </script>
</head>
<body>
    <button id="createBtn">새 버튼 만들기</button>
</body>
</html>

'Front > jQuery' 카테고리의 다른 글

jQuery - 이벤트 객체 메소드  (0) 2021.12.15
jQuery - 이벤트(키보드 이벤트, 입력 양식 이벤트)  (0) 2021.12.14
jQuery - 이벤트(윈도우 이벤트)  (0) 2021.12.14
jQuery - 이벤트  (0) 2021.12.14
jQuery - 변수  (0) 2021.12.14