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 相关文章推荐
event.srcElement+表格应用
Aug 29 Javascript
js常用函数 不错
Sep 08 Javascript
javascript 类定义的4种方法
Sep 12 Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
javascript实现unicode与ASCII相互转换的方法
Dec 10 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
Vue中的混入的使用(vue mixins)
Jun 01 Javascript
React Ant Design树形表格的复杂增删改操作
Nov 02 Javascript
JS实现炫酷轮播图
Nov 15 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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
Javascript的闭包
2009/12/31 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
Python中进程和线程的区别详解
2017/10/29 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
python 实现有道翻译功能
2021/02/26 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
银行实习自我鉴定
2013/10/12 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
就业自我评价
2014/02/04 职场文书
建议书标准格式
2014/03/12 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
答辩状格式范本
2015/05/22 职场文书
二胎满月酒致辞
2015/07/29 职场文书
高中班主任寄语
2019/06/21 职场文书
Python实现归一化算法详情
2022/03/18 Python