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 相关文章推荐
editable.js 基于jquery的表格的编辑插件
Oct 24 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
Apr 25 Javascript
js中split和replace的用法实例
Feb 28 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
详解JS中统计函数执行次数与执行时间
Sep 04 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
Oct 28 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
Aug 04 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
php学习之数据类型之间的转换介绍
2011/06/09 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
python 自定义异常和异常捕捉的方法
2018/10/18 Python
python实现flappy bird游戏
2018/12/24 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python3 字符串知识点学习笔记
2020/02/08 Python
python 检测图片是否有马赛克
2020/12/01 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
学生保证书范文
2014/04/28 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
公民代理授权委托书
2014/09/24 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python