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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
TBCompressor js代码压缩
Jan 05 Javascript
读jQuery之一(对象的组成)
Jun 11 Javascript
JavaScript分析、压缩工具JavaScript Analyser
Dec 31 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
vue.js,ajax渲染页面的实例
Feb 11 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
JS回调函数 callback的理解与使用案例分析
Sep 09 Javascript
JS工厂模式开发实践案例分析
Oct 17 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定时执行计划任务的多种方法小结
2011/12/19 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
vue按需加载实例详解
2019/09/06 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
Python入门_学会创建并调用函数的方法
2017/05/16 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Python装饰器语法糖
2019/01/02 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
英语专业应届生求职信范文
2013/11/15 职场文书
本科毕业生求职信
2014/06/15 职场文书
青年文明号口号
2014/06/17 职场文书
革命电影观后感
2015/06/18 职场文书
感恩老师主题班会
2015/08/12 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
企业愿景口号
2015/12/25 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
Python上下文管理器Content Manager
2021/06/26 Python