HTML의 onmouseout 이벤트 속성은 마우스 포인터가 HTML 요소 밖으로 벗어날 때 발생하는 이벤트입니다. 웹 페이지에서 마우스가 특정 요소 위에 있다가 해당 요소를 떠나는 순간 지정된 자바스크립트 코드를 실행할 수 있어, 인터랙티브한 사용자 경험을 만드는 데 유용하게 활용됩니다.
onmouseout 이벤트 속성 문법
onmouseout 이벤트 속성의 기본 문법은 다음과 같습니다.
<tagname onmouseout="script"></tagname>
태그 이름에 onmouseout 속성을 추가하고, 속성값으로 실행하고자 하는 자바스크립트 코드를 작성하면 됩니다.
onmouseout 이벤트 활용 예제
아래 예제는 빨간 원 위에서 마우스를 움직이면 원의 색상이 파란색으로 바뀌고, 마우스가 원을 벗어나면 초록색으로 변경되는 코드입니다. onmousemove와 onmouseout 이벤트를 함께 사용하여 동작을 비교해 볼 수 있습니다.
예제 코드
<!DOCTYPE html>
<html>
<head>
<style>
body {
color: #000;
height: 100vh;
background-color: #FBAB7E;
background-image: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%);
text-align: center;
}
.circle {
background: #db133a;
height: 150px;
width: 150px;
border-radius: 50%;
margin: 10px auto;
}
p {
margin: 30px auto;
}
</style>
</head>
<body>
<h1>HTML onmouseout Event Attribute Demo</h1>
<div class="circle" onmousemove="mouseMoveFn()" onmouseout="mouseOutFn()"></div>
<p>빨간색 원 위로 커서를 움직여 보세요</p>
<script>
function mouseMoveFn() {
document.querySelector('.circle').style.background = '#2274A5';
}
function mouseOutFn() {
document.querySelector('.circle').style.background = '#0B6E4F';
}
</script>
</body>
</html>실행 결과
코드를 실행하면 화면 중앙에 빨간색 원이 나타납니다.
이제 마우스 커서를 빨간색 원 위로 올려보세요. onmousemove 이벤트가 발생하여 원의 배경색이 파란색(#2274A5)으로 변경됩니다.
그다음 커서를 원 밖으로 이동시키면, 이때 onmouseout 이벤트가 트리거되면서 원의 색상이 초록색(#0B6E4F)으로 바뀌는 것을 확인할 수 있습니다.
onmouseout 이벤트의 주요 특징
- 발생 시점: 마우스 포인터가 요소 영역을 완전히 벗어날 때 한 번 발생합니다.
- onmouseleave와의 차이: onmouseout은 자식 요소로 이동할 때도 발생하지만, onmouseleave는 요소 전체를 벗어날 때만 발생합니다.
- 활용 분야: 툴팁 숨기기, 드롭다운 메뉴 닫기, 버튼 호버 효과 해제 등 다양한 UI 인터랙션에 활용됩니다.
onmouseout 이벤트 속성은 CSS의 :hover 가상 클래스와 함께 또는 대신 사용되며, 자바스크립트로 더 복잡한 동작을 제어해야 할 때 특히 유용합니다.