웹 프론트엔드 프런트엔드 Q&A 자바스크립트에서 마우스 왼쪽 버튼이 눌렸는지 확인하는 방법

자바스크립트에서 마우스 왼쪽 버튼이 눌렸는지 확인하는 방법

Apr 24, 2023 pm 03:49 PM

JavaScript에서는 마우스 왼쪽 버튼이 눌렸는지 확인하는 것이 일반적인 요구 사항입니다. 마우스를 사용하여 상호작용하는 웹 애플리케이션에서 우리는 일반적으로 사용자가 마우스를 움직일 때 마우스 왼쪽 버튼이 눌렸는지 여부를 실시간으로 모니터링하여 후속 작업을 수행할 수 있기를 원합니다. 이 기사에서는 마우스 왼쪽 버튼 누르기 판단을 실현하는 몇 가지 기술과 방법을 소개합니다.

  1. 마우스 왼쪽 버튼이 눌렸는지 확인하려면 MouseEvent 개체의 버튼 속성을 사용하세요.

마우스가 움직일 때 브라우저는 MouseEvent 이벤트를 트리거합니다. MouseEvent 객체에는 현재 마우스의 어떤 버튼이 눌려져 있는지 나타내는 버튼 속성이 포함되어 있습니다. 마우스 왼쪽 버튼의 경우 버튼 속성 값은 1입니다. 따라서 MouseEvent 객체의 버튼 속성이 1인지 여부를 판단하여 마우스 왼쪽 버튼이 눌렸는지 여부를 판단할 수 있습니다. 다음은 간단한 샘플 코드입니다.

document.addEventListener('mousemove', function(event) {
  if (event.buttons === 1) {
    console.log('鼠标左键被按下了');
  }
});
로그인 후 복사
  1. mousedown 및 mouseup 이벤트의 버튼 속성을 판단하여 마우스 왼쪽 버튼이 눌렸는지 확인합니다.

마우스를 누르거나 놓을 때 브라우저는 mousedown 및 mouseup을 트리거합니다. 각각 이벤트 . MouseEvent 객체에는 어떤 마우스 버튼을 눌렀는지 또는 놓았는지 나타내는 버튼 속성이 포함되어 있습니다. 마우스 왼쪽 버튼의 경우 버튼 속성 값은 0입니다. 따라서 mousedown 및 mouseup 이벤트의 버튼 속성이 0인지 여부를 확인하여 마우스 왼쪽 버튼이 눌렸는지 여부를 확인할 수 있습니다. 다음은 샘플 코드입니다.

document.addEventListener('mousedown', function(event) {
  if (event.button === 0) {
    console.log('鼠标左键被按下了');
  }
});

document.addEventListener('mouseup', function(event) {
  if (event.button === 0) {
    console.log('鼠标左键被释放了');
  }
});
로그인 후 복사

위의 샘플 코드에서는 mousedown 및 mouseup 이벤트를 각각 수신한다는 점에 유의해야 합니다. 이는 마우스 왼쪽 버튼을 누르면 mousedown 이벤트가 트리거되고, 마우스 왼쪽 버튼을 놓으면 mouseup 이벤트가 트리거되기 때문입니다.

  1. 전역 변수나 클로저를 사용하여 마우스 왼쪽 버튼 누름 상태를 저장합니다.

어떤 경우에는 마우스 왼쪽 버튼 누름 상태를 장기간에 걸쳐 저장하고 이를 기반으로 구축해야 할 수도 있습니다. . 이때 전역 변수나 클로저를 사용하여 마우스 왼쪽 버튼이 눌린 상태를 저장할 수 있습니다. 다음은 샘플 코드입니다.

var isMouseDown = false;

document.addEventListener('mousedown', function(event) {
  if (event.button === 0) {
    isMouseDown = true;
  }
});

document.addEventListener('mouseup', function(event) {
  if (event.button === 0) {
    isMouseDown = false;
  }
});

document.addEventListener('mousemove', function(event) {
  if (isMouseDown) {
    console.log('鼠标左键被按下了');
    // 进行一些操作
  }
});
로그인 후 복사

위 샘플 코드에서는 전역 변수 isMouseDown을 통해 마우스 왼쪽 버튼을 누른 상태를 저장합니다. 왼쪽 마우스 버튼을 누르면 isMouseDown을 true로 설정하고, 왼쪽 마우스 버튼을 놓으면 isMouseDown을 false로 설정합니다. 마우스 이동 이벤트의 수신 함수에서는 isMouseDown이 true인 경우에만 일부 작업이 수행됩니다.

요약

JavaScript에서는 마우스 왼쪽 버튼이 눌렸는지 확인하는 것이 일반적인 요구 사항입니다. 이 기사에서는 마우스 왼쪽 버튼이 눌렸는지 확인하는 세 가지 기술과 방법을 소개합니다. 특히, MouseEvent 객체의 버튼 속성, mousedown 및 mouseup 이벤트의 버튼 속성, 또는 전역 변수나 클로저를 사용하여 왼쪽 마우스 버튼이 눌린 상태를 저장함으로써 이 기능을 구현할 수 있습니다. 실제 개발에서는 특정 요구 사항에 따라 해당 기술과 방법을 사용하도록 선택할 수 있습니다.

위 내용은 자바스크립트에서 마우스 왼쪽 버튼이 눌렸는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

게으른 하중의 개념을 설명하십시오. 게으른 하중의 개념을 설명하십시오. Mar 13, 2025 pm 07:47 PM

게으른 하중의 개념을 설명하십시오.

useeffect 란 무엇입니까? 부작용을 수행하는 데 어떻게 사용합니까? useeffect 란 무엇입니까? 부작용을 수행하는 데 어떻게 사용합니까? Mar 19, 2025 pm 03:58 PM

useeffect 란 무엇입니까? 부작용을 수행하는 데 어떻게 사용합니까?

React Reconciliation 알고리즘은 어떻게 작동합니까? React Reconciliation 알고리즘은 어떻게 작동합니까? Mar 18, 2025 pm 01:58 PM

React Reconciliation 알고리즘은 어떻게 작동합니까?

각 라이프 사이클 방법의 목적과 사용 사례를 설명하십시오. 각 라이프 사이클 방법의 목적과 사용 사례를 설명하십시오. Mar 19, 2025 pm 01:46 PM

각 라이프 사이클 방법의 목적과 사용 사례를 설명하십시오.

카레는 JavaScript에서 어떻게 작동하며 그 이점은 무엇입니까? 카레는 JavaScript에서 어떻게 작동하며 그 이점은 무엇입니까? Mar 18, 2025 pm 01:45 PM

카레는 JavaScript에서 어떻게 작동하며 그 이점은 무엇입니까?

JavaScript의 고차 기능은 무엇이며 어떻게 간결하고 재사용 가능한 코드를 작성하는 데 어떻게 사용할 수 있습니까? JavaScript의 고차 기능은 무엇이며 어떻게 간결하고 재사용 가능한 코드를 작성하는 데 어떻게 사용할 수 있습니까? Mar 18, 2025 pm 01:44 PM

JavaScript의 고차 기능은 무엇이며 어떻게 간결하고 재사용 가능한 코드를 작성하는 데 어떻게 사용할 수 있습니까?

제어 및 제어되지 않은 구성 요소의 장점과 단점은 무엇입니까? 제어 및 제어되지 않은 구성 요소의 장점과 단점은 무엇입니까? Mar 19, 2025 pm 04:16 PM

제어 및 제어되지 않은 구성 요소의 장점과 단점은 무엇입니까?

React의 성능 최적화 기술 (메모 화, 코드 분할, 게으른로드)은 무엇입니까? React의 성능 최적화 기술 (메모 화, 코드 분할, 게으른로드)은 무엇입니까? Mar 18, 2025 pm 01:57 PM

React의 성능 최적화 기술 (메모 화, 코드 분할, 게으른로드)은 무엇입니까?

See all articles