상세 컨텐츠

본문 제목

mousemove , pointmove 차이점

JavaScript

by 폴리프레임 2024. 10. 28. 12:04

본문

반응형

1. 이벤트 지원 장치

  • mousemove: 마우스 입력에만 반응하며, 일반적인 데스크탑 환경에서 마우스의 움직임을 추적할 때 사용됩니다.
  • pointermove: 포인터 입력을 포괄하여, 마우스뿐만 아니라 터치, 스타일러스 등 여러 입력 장치에 대해 반응합니다. pointermove는 다양한 장치에서 입력을 통합적으로 처리할 수 있어, 반응형 디자인과 같은 다양한 입력 지원이 필요할 때 유리합니다.

2. 브라우저 호환성

  • mousemove: 오랫동안 모든 브라우저에서 지원해왔으며, 모든 마우스 이벤트를 지원하는 환경에서는 무난히 사용할 수 있습니다.
  • pointermove: 최신 브라우저에서 지원되며, 특히 Edge 및 크롬 기반 브라우저는 pointermove와 관련된 기능을 잘 지원하지만, 일부 오래된 브라우저에서는 지원이 부족할 수 있습니다.

3. 사용 사례

  • mousemove: 기본 마우스 동작만 추적하면 되는 경우, 예를 들어 데스크탑 전용 애플리케이션이나 마우스에만 의존하는 기능에서는 mousemove만으로도 충분합니다.
  • pointermove: 다양한 입력 장치를 지원해야 하는 웹 애플리케이션에서는 pointermove를 사용하는 것이 좋습니다. 이를 통해 마우스, 터치, 스타일러스 간의 이벤트 처리를 통합하여 코드의 복잡성을 줄일 수 있습니다.
// mousemove 예제
document.addEventListener('mousemove', (event) => {
    console.log(`Mouse moved to: ${event.clientX}, ${event.clientY}`);
});

// pointermove 예제
document.addEventListener('pointermove', (event) => {
    console.log(`Pointer moved to: ${event.clientX}, ${event.clientY} (type: ${event.pointerType})`);
});

관련글 더보기