JavaScript模拟鼠标右键菜单效果


Posted in Javascript onDecember 08, 2020

本文实例为大家分享了JavaScript模拟鼠标右键菜单的具体代码,供大家参考,具体代码如下

效果图:

JavaScript模拟鼠标右键菜单效果

具体代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>右键菜单</title>
 <style type="text/css">
  *{
   margin: 0;
   padding: 0;
  }
  #menu{
   width: 254px;
   /*background-color: #ccc;*/
   font-size: 12px;
   position: fixed;
   top: 0px;
   left: 0px;
   /*height: 240px;*/
   /*padding-left: 26px;*/
   padding-top: 2px;
   border:1px solid #ccc;
   display: none;
  }
  #menu li{
   list-style: none;
   line-height: 25px;
   margin-left: -1px;
   padding-left: 26px;
  }
  #menu li:hover{
   background-color: #4281f4;
   color: #fff;
  }
 </style>
</head>
<body>
  <ul id="menu">
   <li>返回(B)</li>
   <li>前进(F)</li>
   <li>从新加载(R)</li>
   <li>另存为(A)</li>
   <li>打印(P)</li>
   <li>查看网页源代码(V)</li>
   <li>查看网页信息(I)</li>
   <li>审查元素(N)</li>
  </ul>
  <script type="text/javascript">
  var menu = document.getElementById("menu");

  document.oncontextmenu =function(e){
   var e = e ||window.event;//兼容
   console.log(e.clientX,e.clientY);
   console.log(e);
   //单击显示div
   menu.style.display = "block";
   //设置定义
   //判断鼠标坐标是否大于视口宽度-块本身宽度
   var cakLeft = (e.clientX > document.documentElement.clientWidth - menu.offsetWidth)?(document.documentElement.clientWidth - menu.offsetWidth):e.clientX;
   var cakTop = (e.clientY > document.documentElement.clientHeight - menu.offsetHeight)?(document.documentElement.clientHeight - menu.offsetHeight):e.clientY;
   menu.style.left = cakLeft + "px";
   menu.style.top = cakTop + "px";

  return false;
  }

   menu.onclick = function(e) {
  var e = e || window.event;
  e.cancelBubble = true;
  //阻止冒泡。
 }
  document.onclick = function() {
  menu.style.display = "none";
 }
  
  </script>
</body>
</html>

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
offsetParent 算法分析
Apr 05 Javascript
解析js原生方法创建表格效率测试
Jul 08 Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
JavaScript实现页面无操作倒计时退出
Oct 22 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
node实现的爬虫功能示例
May 04 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
angularjs模态框的使用代码实例
Dec 20 Javascript
javascript实现移动端上的触屏拖拽功能
Mar 04 #Javascript
基于zepto的移动端轻量级日期插件--date_picker
Mar 04 #Javascript
基于Javascript实现二级联动菜单效果
Mar 04 #Javascript
jquery ajax双击div可直接修改div中的内容
Mar 04 #Javascript
js实现文字滚动效果
Mar 03 #Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 #Javascript
JQuery日期插件datepicker的使用方法
Mar 03 #Javascript
You might like
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
小程序实现投票进度条
2019/11/20 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
python多线程扫描端口示例
2014/01/16 Python
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
学习python类方法与对象方法
2016/03/15 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
异步传递消息系统的作用
2016/05/01 面试题
大学生实习期自我评价范文
2013/10/03 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
推荐信范文大全
2015/03/27 职场文书
归途列车观后感
2015/06/17 职场文书
vue使用watch监听属性变化
2022/04/30 Vue.js