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 相关文章推荐
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
May 08 Javascript
vue动态绑定class选中当前列表变色的方法示例
Dec 19 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 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面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
python爬取微信公众号文章的方法
2019/02/26 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python zip()函数使用方法解析
2019/10/31 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
Python如何执行系统命令
2020/09/23 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
小学体育教学反思
2014/01/31 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
高三生物教学反思
2016/02/22 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏