본문 바로가기
Frontend/jQuery

02. jQuery, Event (이벤트 처리, 이벤트 종류)

by 개발개발빈이 2022. 6. 3.

○ 이벤트(event)

    - 웹사이트 방문자가 하는 행위 (참고 : 자바스크립트 이벤트 )

    - 마우스, 키보드 조작 등

    - 특정 요소에서 발생하는 이벤트를 처리하기 위해 함수를 작성하여 연결해야 함

 

○ jQuery에서 이벤트 처리

    - 형식)

        ① $(선택자).이벤트(function(){ 실행할 제이쿼리 코드 });

        ② $(선택자).on(이벤트, function(){ 실행할 제이쿼리 코드 });

<body>

	<form id="memfrm" name="memfrm" action="ok.jsp">
        아이디 : <input type="text" name="uid" id="uid" value="marshall">
        <hr>
        <button id="btn_idcheck">ID중복확인</button>
        <button id="btn_join">회원가입</button>
        <button id="btn_reset">다시쓰기</button>
    </form>

    <script>

        //id="btn_idcheck"에 클릭이벤트와 함수 연결하기
        $("#btn_idcheck").click(function(){}); 
        $("#btn_idcheck").on(click, function(){}); 

    </script>

</body>

 

    - id="btn_idcheck" 클릭했을 때 팝업창 띄우기

$("#btn_idcheck").click(function(){
    window.open("blank.html", "popwin", "width=350, height=300")
});

 

    - id="btn_join" 클릭했을 때, 아이디 유효성 체크 후 폼(id="memfrm") 전송하기

$("#btn_join").click(function(){
    var uid=$("#uid").val();
    uid=uid.trim();
    if(!(uid.length>=8 && uid.length<=12)){
        alert("아이디는 8~12글자 이내로 입력해주세요");
        $("uid").focus();
        return false;  //<button>태그의 기본속성이 submit이므로
                       //return false를 주면 서버로 전송되지 않음
    }//if end
    $("#memfrm").submit();  //<form id="memfrm"></form>를 서버로 전송
});//click end

 

    - id="btn_reset" 클릭했을 때, 폼 리셋하기(내용지우기)

$("#btn_reset").click(function(){
    $("#memfrm").reset();  //<form id="memfrm"></form>을 원래대로
});

 

○ jQuery 이벤트 종류

    ① 마우스 이벤트

        - click : 요소를 마우스로 클릭할 때

        - dbclick : 요소를 마우스로 더블클릭할 때

        - mouseenter : 요소에 마우스 커서를 올렸을 때

        - mouseleave : 요소에 마우스 커서를 올렸다가 벗어났을 때

        - hover : mouseenter + mouseleave (아래 코드 참고)

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
      $("p").hover(function(){
        $(this).css("background-color", "yellow");
        }, function(){
        $(this).css("background-color", "pink");
      });
    });
    </script>
</head>
<body>
	<p>Hover the mouse pointer over this paragraph.</p>
</body>

 

    ② 키보드 이벤트

        - keypress : 요소에서 키보드를 누를 때 (꾹 누르고 있으면 계속 이벤트 발생)

        - keydown : 요소에서 키보드를 눌렀을 때

        - keyup : 요소에서 키보드를 눌렀다가 뗄 때

 

    ③ 폼 이벤트

        - submit : 해당 폼을 서버에 전송할 때

        - change: 해당 요소의 내용이 변경될 때

        - focus: 해당 요소에 커서가 들어갔을 때

        - blur: 해당 요소에 커서가 들어갔다가 나올 때

        - select: 해당 요소의 내용을 선택했을 때 (블럭지정)

 

    ④ 문서 이벤트

        - load: 해당 문서가 처음에 로딩될 때

        - resize: 해당 문서의 창 크기가 변할 때

        - scroll: 해당 문서에서 스크롤을 움직일 때

        - unload: 해당 문서에서 나갈 때

        - ready: 해당 문서가 맨 처음 읽힐 때

 

    - 그 외 jQuery에서 가능한 이벤트 참고 : W3Schools

댓글