>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 마우스 오른쪽 버튼 클릭 이벤트를 어떻게 감지하고 컨텍스트 메뉴를 처리합니까?

JavaScript에서 마우스 오른쪽 버튼 클릭 이벤트를 어떻게 감지하고 컨텍스트 메뉴를 처리합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-10 01:05:02234검색

How do you detect right-click events and handle context menus in JavaScript?

JavaScript의 오른쪽 클릭 이벤트 처리

JavaScript의 오른쪽 클릭 감지는 웹 애플리케이션의 일반적인 요구 사항입니다. 대중적인 믿음과는 달리, 마우스 오른쪽 버튼 클릭은 특정 JavaScript 이벤트 자체가 아닙니다. 그러나 mousedown, mouseup, click과 같은 표준 마우스 이벤트를 통해 감지할 수 있습니다.

오른쪽 클릭 이벤트를 캡처하려면 다음 로직을 사용하세요.

document.body.onclick = function (e) {
  let isRightMB;
  e = e || window.event;

  // Determine if it is a right-click event
  if ("which" in e)  // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
    isRightMB = e.which == 3; 
  else if ("button" in e)  // IE, Opera 
    isRightMB = e.button == 2; 

  if (isRightMB) {
    // Handle right-click actions
    console.log("Right mouse button clicked!");
  }
};

다른 한편으로는 한편, 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴가 호출되는 시점을 감지하는 것이 목표라면 oncontextmenu가 적절한 이벤트입니다.

window.oncontextmenu = function ()
{
  // Handle context menu actions
  showCustomMenu();
  return false;     // Cancel default context menu
};

이러한 이벤트 핸들러를 활용하면 마우스 기반 오른쪽 클릭과 마우스 기반 오른쪽 클릭을 모두 효과적으로 처리할 수 있습니다. JavaScript 애플리케이션의 컨텍스트 메뉴 이벤트입니다.

위 내용은 JavaScript에서 마우스 오른쪽 버튼 클릭 이벤트를 어떻게 감지하고 컨텍스트 메뉴를 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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