코딩물고기

[J] JavaScript & jQuery 공부하기 #21 본문

코딩물고기의 IT월드

[J] JavaScript & jQuery 공부하기 #21

코딩하는물고기 2019. 4. 8. 11:53
728x90

경기도 일자리 재단에서 수업을 배웠고 자료를 참고하여 공부를 해보았다.


26. 이벤트

  - 이벤트 처리
    * 이벤트(event)
    - 사용자가 문언가를 클릭하거나 혹은 대상 위에 마우스를 가져가거나
      특정 키를 누를 때 상호작용이 발생하는 것 등
      브라우저에서 일어나는 모든 동작을 의미한다
    - 이벤트 핸들러를 통해 이벤트에 대한 특정 작업 처리를 할 수 있다

    * 캡처링(capturing)
    - 이벤트를 이벤트가 발생한 요소의 자식 노드들로 전파함

    * 버블링(bubbling)
    - 캡처링과는 반대로, 이벤트가 일어난 요소에서 이벤트 요소를 포함하고
      있는 부모 요소까지 올라가며 이벤트를 검사한다.

    * 고전 이벤트 모델
    - 문서 객체의 이벤트 속성으로 이벤트를 연결하는 방법
    - 이벤트 하나에 이벤트 리스너 하나만 연결 가능

    < script type="text/javascript">
      window.onload = function () {
        var header = document.getElementById('header');
        header.onclick = function(){
          alert('누르셨군요');
          // null 할당 시 이벤트 제거
          header.onclick = null;
        }
      };
    </ script>
    < body>
      < h1 id="header">눌러보세염</ h1>
    </ body>

   * DOM Level 0 모델의 처리
    * 인라인 이벤트 모델
    - HTML 페이지의 가장 기본적인 이벤트 연결 방법
    - 태그 안에 직접 이벤트 속성 및 이벤트 리스너를 정의함

    < body onload="alert('어서오세요')" onunload="alert('안녕히가세여')">
      < h1>좋은 아침입니다.</ h1>
    </ body>

   * 디폴트 이벤트 제거
   - 이벤트 리스너가 이미 정의되어 있는 이벤트를 디폴트 이벤트라 함
   - false를 리턴하는 이벤트 리스너를 정의하여 제거함

   < script type="text/javascript">
     function whenSubmit(){
      // 유효성 검사
      return false;
     }
   </ script>
   < form onsubmit="return whenSubmit()"></ form>

   * 이벤트 전달 막기
   - 인터넷 익스플로러 : 이벤트 객체의 cancelBubble 속성을 true로 변경
   - 그 외 : stopPropagation() 메소드 사용

   * 예제
   < script type="text/javascript">
     function passwordCheck(){
      var pwd1 = document.getElementById("pwd1");
      var pwd2 = document.getElementById("pwd2");

      if(pwd1.value != pwd2.value){
        alert("비밀번호가 일치하지 않습니다.");
        pwd2.focus();
        pwd1.select();
        return false;
      }
     }
   </ script>
   < body>
     < form name="myForm" onsubmit=" return passwordCheck()" action = "ok.html">
     비밀번호 : < input type="password" name = "passwd1" id="pwd1">

     비밀번호 확인 : < input type="password" name = "passwd2" id="pwd2">

     < input type="submit" value="비밀번호 확인">
     </ form>
   </ body>

728x90
Comments