자바스크립트 - 마우스 이벤트

마우스 이벤트

웹을 개발하다보면 마우스에대한 이벤트가 필요할경우 종종있다.

호버같은경우는 css로 해결가능하지만 버튼을클릭했을시 배경색이변하거나

제일 맨위로 이동하기같은경우는 css로는 해결하기는어렵고

이럴경우 자바스크립트의 이벤트 기능이용하면된다.

종류는

mousedown/mouseup

mouserover/mouseout

mousemove

click

dblclick

contextmenu

 

click()

클릭을 했을때 이벤트가 발생하는 이벤트

<style>
    .box{
        width: 200px;
        height: 200px;
        border:1px solid red;
    }
    .on{
        background: yellow;
    }

</style>
<body>
   <div class="box"></div>

   <script>
       // 클릭 이벤트
       let box = document.querySelector('.box');
       
       // box를 클릭하면 on class를 추가하여라
       box.addEventListener('click', function(){
           box.classList.add('on');
       })
       
   </script>

 

mousedown/mouseup

왼쪽 마우스를 누르고있을땐 mousedown 이벤트

왼쪽 마우스 눌렀다가 뗄땐 mouseup 이벤트가 발생한다.

 <script>
       // mousedown
       document.addEventListener('mousedown', function(e){
        let x = e.clientX;
        let y = e.clientY;

        console.log("마우스 눌렀을 때의 X : ", x);
        console.log("마우스 눌렀을 때의 Y : ", y);
       });

       // mouseup
       document.addEventListener('mouseup', function(e){
        let x = e.clientX;
        let y = e.clientY;

        console.log("마우스 눌렀다가 땟을 때의 X : ", x);
        console.log("마우스 눌렀을 땟을  때의 Y : ", y);
       });
   </script>

document(문서) 에서 3번의 클릭을 했을경우 좌표값을 나오는것을 확인할수 있음

 

mouseover/mouseout

마우스가 올라가거나 나가면 이벤트 발생한다.

 <style>
    .box{
        width: 200px;
        height: 200px;
        background:red;
    }

    </style>

    <div class="box"></div>
   <script>
       // mouseover
       // .box의 박스안에 마우스가 올라가면 메세지 출력
       let box = document.querySelector('.box');
       
       box.addEventListener('mouseover',function(){
            console.log('box에 마우스가 올라갔습니다.');
       });

        // mouseout
       // .box의 박스안에 마우스가 나가면
       box.addEventListener('mouseout',function(){
            console.log('box에 마우스가 나갔습니다.');
       });
      
   </script>

마우스가 .box에 올라가면 이벤트 발생화면

 

마우스가 .box에 빠져나가면 이벤트 발생화면

 

dblclick

마우스왼쪽버튼을 더블클릭했을때 이벤트 발생

   <style>
    .box{
        width: 200px;
        height: 200px;
        background:red;
    }

    </style>

    <div class="box"></div>
   <script>
       // dblclick
       // .box의 박스안에 마우스가 올라가면 메세지 출력
       let box = document.querySelector('.box');
       
       box.addEventListener('dblclick',function(){
            console.log('더블클릭하였습니다.');
       });
   </script>

더블클릭하면 나오는 화면

contextmenu

오른쪽 마우스 클릭시 이벤트 발생

 <style>
    .box{
        width: 200px;
        height: 200px;
        background:red;
    }

    </style>

    <div class="box"></div>
   <script>
       // contextmenu
       // .box에 오른쪽마우스 클릭하면 나오는 이벤트
       let box = document.querySelector('.box');
       
       box.addEventListener('contextmenu',function(){
            console.log('오른쪽 마우스 클릭하였습니다.');
       });
   </script>

 

copy

복사하면 발생하는 이벤트

 <div>
        안녕하세요. <br>
        이벤트 실습중입니다<br>
        너무어렵네요 허허<br>
        복사는 하지말아주세요 ..
    </div>
   <script>
       // copy
       // 복사하기 막는 이벤트
       let box = document.querySelector('div');
       
       box.addEventListener('copy',function(){
            alert("복사하지 말랬지!!!!!!");
       });
   </script>

복사를 하면 나오는 화면

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유