Javascript
MouseOver / MouseOut - MouseEnter / MouseLeave
placidcy
2022. 2. 24. 00:51
1. MouseOver / MouseOut : 마우스 커서가 요소에 올렸을때 빠져 나올때의 이벤트, 해당하는 요소와 자식 요소까지 영향을 준다
2. MouseEnter / MouseLeave : 해당 요소에만 영향을 주고 자식 요소는 제외된다
코드
<style>
#one {
width: 300px;
padding: 10px;
margin: 10px;
font-size: 30px;
text-align: center;
background: #ccc;
}
#one p {}
#two {
width: 300px;
padding: 10px;
margin: 10px;
font-size: 30px;
text-align: center;
background: #ccc;
}
#two p {}
</style>
<div id="one">
one
<p>Mouseover / Mouseout</p>
</div>
<div id="two">
two
<p>MouseEnter / MouseLeave</p>
</div>
<script>
const one = document.querySelector("#one");
const two = document.querySelector("#two");
const oneP = document.querySelector("#one p");
const twoP = document.querySelector("#two p");
one.addEventListener("mouseover", () => {
oneP.style.background = "#a1ffa4";
});
one.addEventListener("mouseout", () => {
oneP.style.fontSize = "40px";
oneP.style.border = "1px solid #111";
});
two.addEventListener("mouseenter", () => {
twoP.style.background = "#a1ffa4";
});
two.addEventListener("mouseleave", () => {
twoP.style.fontSize = "40px";
twoP.style.border = "1px solid #111";
});
</script>
결과
one
Mouseover / Mouseout
two
MouseEnter / MouseLeave
1. Mouseover / Mouseout의 경우 마우스를 올려놓으면 텍스트 주변 배경색상이 바뀌고 회색 범위로 마우스를 옮기면 텍스트 크기가 커진다, 자식 태그인 텍스트까지 영향을 준다
2. MouseEnter / MouseLeave의 경우 마우스를 어디에 올려놓아도 배경 색상만 변경되며 마우스가 회색 범위 밖까지 벗어날때 텍스트 크기가 커진다, 자식 태그까지 영향을 주지 않는다