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 相关文章推荐
javascript中使用css需要注意的地方小结
Sep 01 Javascript
浅谈JavaScript的事件
Feb 27 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
javascript实现二级级联菜单的简单制作
Nov 19 Javascript
prototype框架中美元符号$用法分析
Jan 22 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 Javascript
JavaScript 事件对内存和性能的影响
Jan 22 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
js变量声明var使用与不使用的区别详解
Jan 21 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 Javascript
如何使用原生Js实现随机点名详解
Jan 06 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
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
PDO::_construct讲解
2019/01/27 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
python批量提取word内信息
2015/08/09 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
Python 实现微信自动回复的方法
2020/09/11 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
大学生入党思想汇报
2014/01/14 职场文书
简历的自我评价
2014/02/03 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
员工安全生产承诺书
2014/05/22 职场文书
车辆年审委托书范本
2014/09/18 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年卫生工作总结
2014/11/27 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP