Maison  >  Article  >  interface Web  >  Comment détecter les clics droits en JavaScript ?

Comment détecter les clics droits en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 06:47:02159parcourir

How Can You Detect Right Clicks in JavaScript?

Détection des clics droits en JavaScript

Le clic droit, une interaction utilisateur courante, pose un défi spécifique en JavaScript : déterminer quand il se produit. Bien qu'il s'agisse d'une action pilotée par la souris, le clic droit n'est pas un événement JavaScript dédié.

Gestion des événements liés aux boutons de la souris

JavaScript fournit des écouteurs d'événements standard pour les actions de la souris, telles que comme mousemove, mousedown, mouseup et cliquez. Bien que ces événements capturent les actions des boutons de la souris, ils ne font pas de différence entre les clics gauche et droit. Pour détecter les clics droits, vous devez examiner les propriétés de l'objet événement.

document.body.onclick = function(e) {
  var isRightMB;
  e = e || window.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; 

  alert("Right mouse button " + (isRightMB ? "" : " was not") + "clicked!");
}

Événements du menu contextuel

En plus des événements de souris, il existe un événement appelé oncontextmenu , qui se déclenche lorsque le menu contextuel est ouvert sur un élément. Cet événement peut être utilisé pour gérer les actions de clic droit qui aboutissent à un menu contextuel.

window.oncontextmenu = function() {
  showCustomMenu();
  return false;     // cancel default menu
}

En tirant parti de ces techniques, les développeurs peuvent détecter et gérer les événements de clic droit en JavaScript, leur permettant ainsi de créer des événements intuitifs et applications Web réactives.

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