[javascript] Mouse Event updated_at: 2024-12-15 11:16

Mouse Event

  • onclick: 마우스를 클릭했을때 이벤트 발생
  • onmouseenter: element 상에 마우스 포인트가 진입했을 때 이벤트 발생
  • onmouseleave: element 를 마우스 포인트가 벗어날때 경우 이벤트 발생
  • onmousemove: element상에서 마우스 포인트가 움직일때 연속적으로 발생
  • onmouseout: element에 하위 element들이 존재할때 하위 element를 벗어날때도 이벤트가 발생()
  • onmouseover: onmousemove와 비슷하나 하위요소들이 존재할때 하위 요소에 진입할때 마다 발생

사용법

<div onmouseover="style.background = '#FCFBF1'"> // html 상에서 바로 적용
<div onmouseleave ="func()"> // html상에서 정의된 함수 호출
element.onmouseleave = function(){func()}; // 자바스크립트로 엘리먼트에 적용
element.addEventListener("mouseleave", func);

onclick

마우스를 클릭했을때 이벤트 발생

 onclick="window.open('url', '', '');"

onmouseenter && onmouseleave

텍스트위에 마우스를 가져가면 색상이 변경되는 예제

  • js
function mouseEnter() {
  document.getElementById("sample").style.color = "red";
}

function mouseLeave() {
  document.getElementById("sample").style.color = "blue";
}
  • html
<p id="sample" onmouseenter="mouseEnter()" onmouseleave="mouseLeave()"> 
  세상의 모든 재미나는 이야기 - onstory.fun (이곳에 마우스 오버)
</p>

See the Pen 스크롤을 따라 움직이는 레이어 by younghyeong ryu (@wangta69) on CodePen.

onmousemove vs. onmouseleave vs. onmouseout

js

var x = 0;
var y = 0;
var z = 0;

function onMouseMove() {
  document.getElementById("demo1").innerHTML = z+=1;
}

function onMouseLeave() {
  document.getElementById("demo2").innerHTML = x+=1;
}

function onMouseOut() {
  document.getElementById("demo3").innerHTML = y+=1;
}

css

#samples {
  display: flex;
}

#samples > div {
  border: 1px solid gray;
  padding : 10px;
  marin : 10px;
}

html

<div id="samples">
  <div onmousemove="onMouseMove()">
    <p>마우스포인터가 div 요소 위에서 움직일 때마다 발생</p>
    <p>event occur: <span id="demo1"></span></p>
    <p>onmousemove</p>
  </div>
  <div onmouseleave="onMouseLeave()">
    <p>마우스포인터가 안에서 div 요소 밖으로 나갈 때만 발생</p>
    <p>event occur: <span id="demo2"></span></p>
    <p>onmouseleave </p>
  </div>
  <div onmouseout="onMouseOut()">
    <p>마우스포인터가 div 및 해당 하위요소 (p 및 span)에서 나갈 때도 발생.</p>
    <p>event occur: <span id="demo3"></span></p>
    <p>onmouseout</p>
  </div>
</div>

See the Pen MouseEvent - onmouseleave - color change by younghyeong ryu (@wangta69) on CodePen.

onmouseover & onmouseout

마우스 over 및 oust 시 style을 이용하여 색상을 변경하는 예제입니다.

<div onmouseover="style.background = '#FCFBF1'" onmouseout="style.background = '#FFFFFF'"> <div> 
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글