Heim >Web-Frontend >js-Tutorial >Wie erkennt man Rechtsklick-Ereignisse und behandelt Kontextmenüs in JavaScript?

Wie erkennt man Rechtsklick-Ereignisse und behandelt Kontextmenüs in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-11-10 01:05:02196Durchsuche

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

Rechtsklick-Ereignisbehandlung in JavaScript

Das Erkennen von Rechtsklicks in JavaScript ist eine häufige Anforderung für Webanwendungen. Entgegen der landläufigen Meinung ist ein Rechtsklick kein spezifisches JavaScript-Ereignis. Es kann jedoch durch die Standard-Mausereignisse wie MouseDown, MouseUp und Klicken erkannt werden.

Um Rechtsklick-Ereignisse zu erfassen, verwenden Sie die folgende Logik:

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

Auf der anderen Seite Wenn Ihr Ziel hingegen darin besteht, zu erkennen, wann das Rechtsklick-Kontextmenü aufgerufen wird, ist das entsprechende Ereignis oncontextmenu.

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

Durch die Verwendung dieser Ereignishandler können Sie sowohl mausbasierte Rechtsklicks als auch effektiv verarbeiten Kontextmenüereignisse in Ihren JavaScript-Anwendungen.

Das obige ist der detaillierte Inhalt vonWie erkennt man Rechtsklick-Ereignisse und behandelt Kontextmenüs in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn