JavaScript模拟鼠标右键菜单效果

 更新时间:2020年12月08日 15:37:19   作者:Cakty、Riven  
这篇文章主要为大家详细介绍了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程序设计有所帮助。

相关文章

  • html+css+js实现简易版ChatGPT聊天机器人

    html+css+js实现简易版ChatGPT聊天机器人

    OpenAI的一款聊天机器人模型ChatGPT爆火,本篇文章用一百行html+css+js代码给大家制作一款简易的聊天机器人。
    2023-02-02
  • js与jQuery实现checkbox复选框全选/全不选的方法

    js与jQuery实现checkbox复选框全选/全不选的方法

    这篇文章主要介绍了js与jQuery实现checkbox复选框全选/全不选的方法,结合实例较为详细的分析了JavaScript与jQuery针对checkbox复选框全选与反选的操作技巧,需要的朋友可以参考下
    2016-01-01
  • js轮盘抽奖实例分析

    js轮盘抽奖实例分析

    这篇文章主要为大家详细介绍了js轮盘抽奖实例,分析js轮盘抽奖实现原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 为Javascript中的String对象添加去除左右空格的方法(示例代码)

    为Javascript中的String对象添加去除左右空格的方法(示例代码)

    这篇文章主要介绍了为Javascript中的String对象添加去除左右空格的方法(示例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • JS合并两个数组的3种方法详解

    JS合并两个数组的3种方法详解

    这篇文章主要介绍了JS合并两个数组的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • ES6 Set结构的应用实例分析

    ES6 Set结构的应用实例分析

    这篇文章主要介绍了ES6 Set结构的应用,结合实例形式分析了ES6 set结构的功能、特点、常见用法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06
  • 微信小程序如何引用外部js,外部样式,公共页面模板

    微信小程序如何引用外部js,外部样式,公共页面模板

    这篇文章主要介绍了微信小程序引用外部js,外部样式,公共页面模板,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • JavaScript使用键盘输入控制实现数字验证功能

    JavaScript使用键盘输入控制实现数字验证功能

    根据键盘输入的keycode来判断输入的是什么类型来实现数字验证功能,就简单几行代码就可以实现,对js数字验证功能感兴趣的朋友一起看下吧
    2016-08-08
  • axios基本入门用法教程

    axios基本入门用法教程

    之前当vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法。文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • 理解Javascript的动态语言特性

    理解Javascript的动态语言特性

    这篇文章主要介绍了理解Javascript的动态语言特性,需要的朋友可以参考下
    2015-06-06

最新评论