loading

개발하다 보면 마우스 관련해서 여러 가지 이벤트를 처리해야 하는데 이 처리해야 하는 경우를

알아보고 어떻게 이벤트 처리를 해야 하는지 알아보자.

 

▶ 마우스 업 이벤트 처리

버튼을 누른 후 놓았을 때 이벤트를 처리하는 코드

$('.button').on('mouseup', function(e){
    alert('마우스를 놓으면 alert이 찍힙니다.');
});

 

 

▶ 마우스 오버 이벤트 처리

마우스를 버튼 위로 가져갔을 때 이벤트를 처리하는 코드

$('.button').on('mouseover', function(e){
    alert('마우스를 버튼 위로 가져가면 alert이 찍힘');
});

 

▶ 마우스 아웃 이벤트 처리

마우스가 버튼 범위에서 벗어나면 이벤트를 처리하는 코드

$('.button').on('mouseout', function(e){
    alert('마우스가 버튼 범위를 벗어나면 alert이 찍힘');
});

 

 

▶ 마우스 다운 이벤트 처리

버튼을 누른 즉시 이벤트를 처리하는 코드

$('.button').on('mousedown', function(e){
    alert('버튼을 누른 즉시 alert이 찍힘');
});

 

 

▶ 어느 마우스 버튼을 눌렀는지 확인하는 방법

마우스로 웹 페이지에 있는 버튼을 눌렀을 때 마우스 버튼이 왼쪽으로 클릭했는지, 오른쪽으로 클릭했는지

알고 싶을 때 마우스 이벤트 처리를 어떻게 해야 하는지 알아보자.

 

이벤트 중 click 이벤트로 실험을 해봤는데 왼쪽 버튼만 인식해서 click 이벤트를 사용하지 말고,

mousedown 이벤트나 mouseup 이벤트를 사용해야 한다.

 

예)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
  <script>
    $(document).ready(function(){
        $('.button').on('mousedown', function(e){
            console.log(e.button)
        });
    });
  </script>
  <title>JS Bin</title>
</head>
<body>
  <button class="button" id="btn-1">1번 버튼</button>
</body>
</html>

 

위 코드를 보면 스크립트 부분에 e.button 이게 마우스 왼쪽이면 콘솔 로그에 숫자 0이 찍히고

오른쪽이면 2가 찍힌다.

 

$('.button').on('mousedown', function(e){
    if(e.button === 0){
    	// 마우스 왼쪽 클릭시 실행코드
    }else if(e.button === 2){
    	// 마우스 오른쪽 클릭시 실행코드
    }
});

 

이렇게 해서 사용하면 마우스 왼쪽/오른쪽 클릭 시 알아낼 수가 있다.

 

반응형

+ Recent posts