괴발개발/Javascript+JQuery

JS_이벤트(event)

moonday 2021. 6. 21. 23:47
더보기

   /*
    -이벤트 : 화면에서 발생하는 동작
      - 마우스 이벤트
        - click, dbclick(=double),mouseout, mousedown, mouseup, mousemove 등
      - 키 이벤트
        -keydown, keyup, keypress 등
      - 폼 이벤트
        - focus, blur, change, submit, reset, select 등
          -(focus가 해제되면 blur)
      - 기타
        - load, abort, resize, scroll 등
    - 이벤트 연결
      - on을 이용
      - 태그에 이벤트를 추가
        - <button onclick="실행문;">버튼</button>
      - JS에서 이벤트를 등록
        - 기본 이벤트 모델
        요소.on이벤트명 = function(){
          실행문;
        }
      - 표준 이벤트 모델
        요소.addEventListener('이벤트명',function(){
          실행문;
        });
      - 기본 이벤트 모델과 표준 이벤트 모델의 차이점
        - 기본 이벤트 모델은 동알헌 이벤트에 대해 등록된 이벤트가 여러개여도 하나만 실행
        - 표준 이벤트 모델은 동일한 이벤트에 대해 등록된 이벤트가 여러개면 여러개를 실행
    */

 

더보기

   /*
   - 이벤트 객체
    - 이벤트가 발생하면 발생된 이벤트 정보를 객체로 만들어 함수의 매개변수로
      전달받을 수 있다
      function(event){
        실행문;
      }
  - 속성
    - target : 이벤트를 발생시킨 객체를 변환
    - tye : 이벤트 이름을 반환
    - clientX/clientY : 브라우저 기준 이벤트 발생 x좌표
    - screenX / screenY : 모니터 기준 이벤트 발생 x좌표/y좌표
    - button : 마우스 왼쪽(0), 가운데(1), 오른쪽(2) 버튼값을 반환
  - 메서드
      - preventDefault(): 기본 이벤트 실행 막아줌
        - 예를 들어 a태그의 페이지 이동
      - stopPropagation() : 이벤트 버블링을 방지
        - 이벤트 버블링 : 요소에 이벤트가 발생돠면 해당 요소의 조상들에 이벤트가 발생
   
    */

  <title>이벤트 예제</title>
</head>
<body>

  <button onclick="alert('알림창내용입니다');">버튼이름</button>

  <!--보통 미리 script에 함수를 만들고 추가--> 
  <button onclick="sum(10);">합알아보기</button> 

  <!-- script코드를 밑으로써야 작동하고 위로쓰면 작동안함 => 익명함수이기때문-->
  <button id="btn2">클릭</button>

  <button id="btn3">클릭3</button>

  <a href="http://naver.com" id="naverLink">네이버</a> <!--prevent-->

  <div id="box">
    <div id="innerBox">클릭</div>
  </div>

  <script>
   function sum(num){ //num까지의 합을구해서 알림창에 합을 띄워주는 함수
     var res = 0;
     for(var i =1; i<=num; i++){
     res += i;
    }
    alert(res);
   }

   var btn2 = document.getElementById('btn2');
   btn2.onclick= function(){sum(10);}

   btn2.onclick= function(){console.log('버튼2 클릭');}

   var btn3 = document.getElementById('btn3');
   btn3.addEventListener('click', function(){sum(10);})


      btn3.addEventListener('click',function(e){
			console.log('버튼3 클릭');
			for(var index in e){
				console.log(index + " : " + e[index]);
			}
		})

    var link = document.getElementById('naverLink');
    link.addEventListener('click', function(e){
      e.preventDefault();
    })

    var box = document.getElementById('box');
    box.addEventListener('click', function(){
      console.log('박스 클릭')
    })
    var innerBox =  document.getElementById('innerBox');
    innerBox.addEventListener('click', function(e){
      console.log('이너 박스 클릭');
      e.stopPropagation();
    })
</script>
</body>

'괴발개발 > Javascript+JQuery' 카테고리의 다른 글

JS_타이머 기능예제  (0) 2021.06.21
JS_요소선택  (0) 2021.06.21
JS_정규표현식  (0) 2021.06.21
JS_날짜(Date, Date형식 수정)  (0) 2021.06.21
JS_반복문(for in, for of, forEach)  (0) 2021.06.21