HTML DOM MouseEvent 개체는 HTML 문서 요소와 마우스의 상호 작용에 발생하는 이벤트를 나타냅니다.
여기에서 "마우스 이벤트 "는 다음과 같은 속성과 메서드를 가질 수 있습니다. -
속성/메서드 | 설명 |
---|---|
altKey | 마우스 이벤트가 발생했을 때 키보드의 "ALT" 키를 눌렀는지 여부를 반환합니다. |
버튼 | 마우스 이벤트가 트리거되었을 때 어떤 마우스 버튼을 눌렀는지에 해당하는 숫자를 반환합니다. |
버튼 | 마우스 이벤트가 발생했을 때 어떤 마우스 버튼을 눌렀는지 반환합니다. |
클라이언트X | 마우스 이벤트가 트리거되었을 때 현재 창을 기준으로 한 마우스 포인터의 수평(x) 좌표를 반환합니다. |
고객 | 마우스 이벤트가 발생했을 때 현재 창을 기준으로 한 마우스 포인터의 수직(y) 좌표를 반환합니다. |
ctrl키 | 마우스 이벤트가 트리거되었을 때 키보드에서 "CTRL" 키를 눌렀는지 여부를 반환합니다. |
getModifierState() | 지정된 키가 활성화되면 true를 반환하고 그렇지 않으면 false를 반환합니다. |
메타키 | 이벤트가 트리거될 때 키보드에서 "META" 키를 눌렀는지 여부를 반환합니다. |
움직임X | 마지막 mousemove 이벤트의 위치를 기준으로 한 마우스 포인터의 수평(x) 좌표를 반환합니다. |
움직임Y | 마지막 mousemove 이벤트의 위치를 기준으로 마우스 포인터의 수직(y) 좌표를 반환합니다. |
오프셋X | 대상 요소의 가장자리 위치를 기준으로 한 마우스 포인터의 수평(x) 좌표를 반환합니다. |
오프셋 | 대상 요소의 가장자리 위치를 기준으로 한 마우스 포인터의 수직(y) 좌표를 반환합니다. |
페이지X | 마우스 이벤트가 발생했을 때 문서를 기준으로 한 마우스 포인터의 수평(x) 좌표를 반환합니다. |
페이지Y | 마우스 이벤트가 발생했을 때 문서를 기준으로 한 마우스 포인터의 수직(y) 좌표를 반환합니다. |
관련 대상 | 마우스 이벤트를 트리거한 HTML 요소를 반환합니다. |
스크린X | 이벤트가 발생했을 때 화면을 기준으로 한 마우스 포인터의 수평(x) 좌표를 반환합니다. |
화면 Y | 이벤트가 트리거되었을 때 화면을 기준으로 한 마우스 포인터의 수직(y) 좌표를 반환합니다. |
shiftKey | 이벤트가 트리거될 때 키보드에서 "SHIFT" 키를 눌렀는지 여부를 반환합니다. |
| 마우스 이벤트가 발생했을 때 어떤 마우스 버튼을 눌렀는지 반환합니다. |
MouseEvent clientX의 예를 살펴보겠습니다. 속성 -
예시
<!DOCTYPE html> <html> <head> <title>MouseEvent clientX</title> <style> * { padding: 2px; margin:5px; } form { width:70%; margin: 0 auto; text-align: center; } #outer { width:70%; margin: 0 auto; padding: 0; text-align: center; border:1px solid black; height: 105px; background-color: #28a745; } input[type="button"] { border-radius: 10px; } #upper { border-bottom: 1px solid black; height: 40px; margin: 0 0 15px 0; background-color: #DC3545; } #lower { border-top: 1px solid black; height: 40px; margin: 15px 0 0 0; background-color: #DC3545; } </style> </head> <body> <form> <fieldset> <legend>MouseEvent-clientX</legend> <div id="outer"> <div id="upper"><h2>Danger</h2></div> <div id="lower"><h2>Danger</h2></div> </div> <input type="button" id="start" value="Start" onclick="gameStart()"> <div id="divDisplay"></div> </fieldset> </form> <script> var divDisplay = document.getElementById('divDisplay'); var gameDisplay = document.getElementById('outer'); function playGame(event) { var x = event.clientX; var y = event.clientY; if(y > 95 && y < 110){ divDisplay.textContent = 'Keep Going!'; if(x === 439){ divDisplay.textContent = 'Congrats! You Did it!'; gameDisplay.removeEventListener('mousemove', playGame); } } else{ divDisplay.textContent = 'You moved to DANGER area. You loose!'; gameDisplay.removeEventListener('mousemove', playGame); } } function gameStart(){ gameDisplay.addEventListener('mousemove',playGame); } </script> </body> </html>
출력
'시작'을 클릭한 후 녹색(안전) 영역의 버튼 및 커서 -
'시작'을 클릭한 후 녹색(안전) 영역 끝에 있는 버튼 및 커서 -
'시작을 클릭한 후 ' 버튼과 빨간색(위험) 영역의 커서 -
또한 "MouseEvent "는 다음과 같은 이벤트를 가질 수 있습니다 -
이벤트 | 설명 |
---|---|
클릭 시 | 사용자가 요소를 클릭하면 이벤트가 발생합니다. |
상황에 맞는 메뉴 | 사용자가 요소를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 열 때 이벤트가 발생합니다. |
ondblclick | 사용자가 요소를 두 번 클릭하면 이벤트가 발생합니다. |
마우스다운 | 사용자가 요소 위에 마우스 버튼을 눌렀을 때 이벤트가 발생합니다. |
마우스 입력 | 포인터가 요소 위로 이동하면 이벤트가 발생합니다. |
마우스 나가기 | 포인터가 요소 밖으로 이동할 때 이벤트가 발생합니다. |
마우스 이동 | 포인터가 요소 위에 있는 동안 포인터가 이동할 때 이벤트가 발생합니다. |
마우스아웃 | 이 이벤트는 사용자가 마우스 포인터를 요소 밖으로 또는 자식 요소 밖으로 이동할 때 발생합니다. |
마우스오버 | 이 이벤트는 포인터가 요소 또는 그 자식 중 하나로 이동할 때 발생합니다. |
마우스업 | 사용자가 요소 위에서 마우스 버튼을 놓을 때 이벤트가 발생합니다. |
MouseEvent onmouseout의 예를 살펴보겠습니다. 이벤트 -
예시
<!DOCTYPE html> <html> <head> <title>MouseEvent onmouseout</title> <style> * { padding: 2px; margin:5px; } form { width:70%; margin: 0 auto; text-align: center; } #outer { width:70%; margin: 0 auto; padding: 0; text-align: center; border:1px solid black; height: 105px; background-color: #28a745; } input[type="button"] { border-radius: 10px; } #upper { border-bottom: 1px solid black; height: 40px; margin: 0 0 15px 0; background-color: #DC3545; } #lower { border-top: 1px solid black; height: 40px; margin: 15px 0 0 0; background-color: #DC3545; } </style> </head> <body> <form> <fieldset> <legend>MouseEvent-onmouseout</legend> <div id="outer" onmouseout="gameStart(event)"> <div id="upper"><h2>Danger</h2></div> <div id="lower"><h2>Danger</h2></div> </div> <div id="divDisplay"></div> </fieldset></form> <script> var divDisplay = document.getElementById("divDisplay"); var textSelect = document.getElementById("textSelect"); function gameStart(event) { var fetchedID = event.relatedTarget.id if(fetchedID !== '') divDisplay.textContent = 'You are hovering over '+fetchedID+' <div> element'; } </script> </body> </html>
출력
녹색(안전한) 영역 위로 마우스를 가져갑니다. −
상단 빨간색(위험) 영역 위로 마우스를 가져갑니다. -
낮은 빨간색(위험) 영역 위로 마우스를 가져갑니다. -