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 相关文章推荐
如何判断图片地址是否失效
Feb 02 Javascript
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
利用js实现禁止复制文本信息
Jun 03 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
require.js 加载过程与使用方法介绍
Oct 30 Javascript
JS如何在数组指定位置插入元素
Mar 10 Javascript
实例讲解React 组件生命周期
Jul 08 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 Vue.js
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实现的在线人员函数库
2008/04/09 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
php学习之简单计算器实现代码
2011/06/09 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
pycharm 使用心得(五)断点调试
2014/06/06 Python
Python教程之全局变量用法
2016/06/27 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
对Python3中的input函数详解
2018/04/22 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
编写python代码实现简单抽奖器
2020/10/20 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
用Python实现职工信息管理系统
2020/12/30 Python
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
公司联欢晚会主持词
2014/03/22 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
活动倡议书范文
2014/05/13 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python