Heim > Web-Frontend > CSS-Tutorial > Wie binde ich ein Ereignis an einen rechten Mausklick und unterdrücke das Kontextmenü des Browsers?

Wie binde ich ein Ereignis an einen rechten Mausklick und unterdrücke das Kontextmenü des Browsers?

Patricia Arquette
Freigeben: 2024-12-02 14:40:14
Original
956 Leute haben es durchsucht

How to Bind an Event to a Right Mouse Click and Suppress the Browser's Context Menu?

Ereignis an rechten Mausklick binden, ohne das Browser-Kontextmenü zu aktivieren

Frage:

Wie führt man wann eine bestimmte Aktion aus? Klicken Sie mit der rechten Maustaste und verhindern Sie gleichzeitig das Standard-Browser-Kontextmenü erscheint?

Antwort:

Lösung 1: Verwendung des oncontextmenu-Ereignishandlers

jQuery bietet kein integriertes oncontextmenu Ereignishandler. Stattdessen können Sie den folgenden Ansatz verwenden:

$(document).ready(function() {
  document.oncontextmenu = function() { return false; };
});
Nach dem Login kopieren

Dadurch wird das Browser-Kontextmenü deaktiviert, indem das oncontextmenu-Ereignis im DOM-Element abgebrochen wird.

Lösung 2: Verwenden des jQuery-Mousedown-Ereignisses Handler

Sie können das Mousedown-Ereignis mit jQuery erfassen und feststellen, um welche Schaltfläche es sich handelte gedrückt:

$(document).ready(function() {
  $(document).mousedown(function(e) {
    if (e.button == 2) {
      // Right mouse button clicked
      alert('Right mouse button!');
      return false;
    }
    return true;
  });
});
Nach dem Login kopieren

Dieser Ansatz kombiniert die Deaktivierung des Kontextmenüs mit der Erkennung von rechten Mausklicks.

Demo:

Das können Sie Testen Sie die obige Lösung, indem Sie das folgende Codebeispiel öffnen und mit der rechten Maustaste klicken:

<html>
<head>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $(document).mousedown(function(e) {
        if (e.button == 2) {
          alert('Right mouse button!');
        }
      });
    });
  </script>
</head>
<body>
  <h1>Test Right Mouse Click Event</h1>
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie binde ich ein Ereignis an einen rechten Mausklick und unterdrücke das Kontextmenü des Browsers?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage