Maison >interface Web >js tutoriel >Comment détecter les événements de clic droit et gérer les menus contextuels en JavaScript ?

Comment détecter les événements de clic droit et gérer les menus contextuels en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-10 01:05:02226parcourir

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

Gestion des événements de clic droit en JavaScript

La détection des clics droits en JavaScript est une exigence courante pour les applications Web. Contrairement à la croyance populaire, le clic droit n’est pas en soi un événement JavaScript spécifique. Cependant, il peut être détecté via les événements de souris standard tels que mousedown, mouseup et click.

Pour capturer les événements de clic droit, utilisez la logique suivante :

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!");
  }
};

De l'autre D'un autre côté, si votre objectif est de détecter le moment où le menu contextuel du clic droit est invoqué, l'événement approprié est oncontextmenu.

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

En utilisant ces gestionnaires d'événements, vous pouvez gérer efficacement à la fois les clics droits de la souris et événements du menu contextuel dans vos applications JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn