JavaScript实现点击自制菜单效果


Posted in Javascript onFebruary 02, 2021

本文实例为大家分享了JavaScript实现点击自制菜单效果的具体代码,供大家参考,具体内容如下

应用场景:当我们希望用户再点击右键的时候不希望弹出浏览器的默认菜单时,需要阻止浏览器默认行为,并执行我们想要的效果

第一种方式,通过创建元素的方式

<!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>

第二种:通过隐藏元素的方式

<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>

当我们点击右键时就不会弹出默认的菜单了,弹出了我设置的红框框。

JavaScript实现点击自制菜单效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
锋利的jQuery jQuery中的DOM操作
Mar 21 Javascript
JSONP 跨域共享信息
Aug 16 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 Javascript
js无法获取到html标签的属性的解决方法
Jul 26 Javascript
详解JavaScript模块化开发
Dec 04 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
Nov 09 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 #Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 #Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 #Vue.js
vue-video-player 断点续播的实现
Feb 01 #Vue.js
Element el-button 按钮组件的使用详解
Feb 01 #Javascript
js实现简单商品筛选功能
Feb 02 #Javascript
如何在现代JavaScript中编写异步任务
Jan 31 #Javascript
You might like
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php的urlencode()URL编码函数浅析
2011/08/09 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
韩国商务邀请函
2014/01/14 职场文书
工地安全质量标语
2014/06/07 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
检讨书怎么写
2015/01/23 职场文书
同意转租证明
2015/06/24 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL