JavaScript to achieve the effect of clicking on the self-made menu

JavaScript to achieve the effect of clicking on the self-made menu

This article shares the specific code of JavaScript to achieve the effect of clicking on the self-made menu for your reference. The specific content is as follows

Application scenario: When we want users to not see the default browser menu pop up when they right-click, we need to prevent the browser from doing the default behavior and execute the desired effect.

The first way is to create elements

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      height: 3000px;
    }
    
    .menu {
      width: 100px;
      height: 280px;
      background-color: red;
      position: absolute;
      left: 0;
      top: 0;
      display: none;
    }
  </style>
</head>

<body>
  <script>
    var Bon = true;
    var menu = null;
    document.oncontextmenu = function(event) {
      if (Bon) {
        menu = document.createElement("div");
        menu.classList.add("menu");
        document.body.appendChild(menu);
        menu.style.left = event.pageX + "px";
        menu.style.top = event.pageY + "px";
        menu.style.display = "block";
        Bon = false;
        event.preventDefault();
      } else {
        menu.style.left = event.pageX + "px";
        menu.style.top = event.pageY + "px";
        event.preventDefault();
      }
    }

    document.onmousedown = function(e) {
      if (e.button == 0) {
        var menu = document.querySelector(".menu");
        document.body.removeChild(menu);
        Bon = true;
      }
    }
  </script>
</body>

</html>

The second method : by hiding elements

<div class="menu"></div>
 <script>
    var menu = document.querySelector(".menu");
    document.oncontextmenu = function(event) {
      menu.style.left = event.pageX + "px";
      menu.style.top = event.pageY + "px";
      menu.style.display = "block";
      event.preventDefault();
    }
    document.onmousedown = function(e) {
      if (e.button == 0) {
        menu.style.display = "none";
      }
    }
</script>

When we right-click, the default menu will not pop up, and the red box I set will pop up.

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • js drop-down menu clicks next to collapse implementation (pitfall record)
  • js realizes the effect of displaying the current content by clicking on the secondary menu
  • JS implements an example of clicking the drop-down menu to synchronize the selected content to the input box
  • Simply implement js click to expand the secondary menu function
  • js implements the sliding menu effect code by clicking the upper left corner of the mouse
  • js implements the drop-down menu effect code that expands when clicking downward
  • CSS+JS method to realize the method of automatically closing the DIV layer menu by clicking the text pop-up
  • A simple example of showing or hiding the effect of js menu click
  • Js click pop-up drop-down menu effect example
  • Click the drop-down menu to implement the js code for the connection jump function

<<:  Automatic backup of MySQL database using shell script

>>:  Two ways to completely delete users under Linux

Recommend

CSS element hiding principle and display:none and visibility:hidden

1. CSS element hiding <br />In CSS, there ar...

Using HTML web page examples to explain the meaning of the head area code

Use examples to familiarize yourself with the mean...

MySQL: mysql functions

1. Built-in functions 1. Mathematical functions r...

How to configure SSL certificate in nginx to implement https service

In the previous article, after using openssl to g...

Docker generates images through containers and submits DockerCommit in detail

Table of contents After creating a container loca...

Use of Linux dynamic link library

Compared with ordinary programs, dynamic link lib...

HTML uses form tags to implement the registration page example code

Case Description: - Use tables to achieve page ef...

A brief discussion on the CSS overflow mechanism

Why do you need to learn CSS overflow mechanism i...

Encoding problems and solutions when mysql associates two tables

When Mysql associates two tables, an error messag...

Summary of CSS gradient effects (linear-gradient and radial-gradient)

Linear-gradient background-image: linear-gradient...

How to run tomcat source code in maven mode

Preface Recently, I was analyzing the startup pro...

Ubuntu Basic Tutorial: apt-get Command

Preface The apt-get command is a package manageme...

How to use DCL to manage users and control permissions in MySQL

DCL (Data Control Language): Data control languag...

Vue custom components use event modifiers to step on the pit record

Preface Today, when I was using a self-written co...

The correct way to use Homebrew in Linux

Many people use Linux Homebrew. Here are three ti...