千家信息网

JS实现自定义鼠标右击菜单的代码怎么写

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"JS实现自定义鼠标右击菜单的代码怎么写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2026年11月02日JS实现自定义鼠标右击菜单的代码怎么写

这篇"JS实现自定义鼠标右击菜单的代码怎么写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"JS实现自定义鼠标右击菜单的代码怎么写"文章吧。

  代码如下:

  HTML代码

  

  

  

  

  

  

  Document

  

  

  

  右击显示菜单

  

  

  

  菜单一

  

  

  菜单二

  

  

  

  

  

  HTML

  JS代码

  关于菜单的定位主要是在第一个if语句部分,后面为验证按钮效果。

  menu1.style.left和menu1.style.top用于对菜单进行定位,由css样式表可知menu1的position属性定位为absolute,style.top定位相对于离它最近的position属性值不为static的父辈元素,此处即为body。

  menu的位置需要根据页面布局的具体情况来判断是e.offsetX/Y、e.clientX/Y或是其它,此处加上document.documentElement.scrollTop是考虑加上滚动条的情况(实际上这个例子里面并没有滚动条)。

  _window.onload=function(){

  //以下为自定义右击菜单

  _document.oncontextmenu=function(e){

  //阻止执行浏览器默认右击事件

  e.preventDefault();

  //聊天室好友列表

  if(document.getElementById("menu-friend")){

  varmenu1=document.getElementById("menu-friend");

  menu1.style.display="block";

  document.getElementById("contain-friend").onmousedown=function(e){//菜单定位

  menu1.style.left=e.offsetX+"px";

  menu1.style.top=document.documentElement.scrollTop+e.clientY+"px";

  //alert(menu1.style.top)

  if(document.getElementById("contain-friend")){

  if(e.button==2){

  menu1.style.visibility="visible";

  }else{

  menu1.style.visibility="hidden";

  }

  }

  }

  }

  }

  if(document.getElementById("btn1")){

  document.getElementById("btn1").onmousedown=function(e){

  document.getElementById("label1")[xss_clean]="你点击了菜单一"

  }

  }

  if(document.getElementById("btn2")){

  document.getElementById("btn2").onmousedown=function(e){

  document.getElementById("label1")[xss_clean]="你点击了菜单二"

  }

  }

  returnfalse;

  //与e.preventDefault();功能相同,但是必须放在最后否则在return后面的内容均不执行

  }

  JavaScript文件

  CSS样式表

  1/*自定义右击菜单*/

  .contain{

  background-color:#D1CEBC;

  height:100px;

  width:300px;

  }

  .menu{

  width:150px;

  background-color:white;

  visibility:hidden;

  position:absolute;

  box-shadow:0px0px10px#D1CEBC

  }

  .menu-item{

  background-color:#fff;

  margin:0;

  }

  .menu-item-btn{

  width:146px;

  margin:2px;

  border:0;

  text-align:left;

  padding-left:60px;

  padding-top:5px;

  padding-bottom:5px;

  background-color:#fff;

  color:#000;

  }

  .menu-item-btn:hover{

  background-color:#D1CEBC;

  }

以上就是关于"JS实现自定义鼠标右击菜单的代码怎么写"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

菜单 代码 内容 定位 鼠标 属性 情况 文章 样式 知识 篇文章 相同 事件 价值 位置 例子 元素 功能 大部分 好友 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 蓝思科技飞鸽互联网 智能科技公司是互联网公司吗 美国互联网科技巨头监管 腾讯阿里互联网科技 与互联网科技公司 科技制造互联网公司 中国互联网科技发展 互联网金融科技平台 青岛中康互联网医疗科技有限公司 互联网之后的科技是什么 科技互联网大厂 彤创互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 内蒙古九一互联网科技 上海京穆互联网科技有限公司 卡尔迅互联网科技有限公司 兰石爱特工业互联网科技分公司 互联网科技大会大佬 如何强化互联网金融科技 广州大一互联网络科技有限公司 奇酷互联网络科技 极限挑战互联网科技 成都互联网科技公司100强 贵州叶脉互联网科技有限公司所属行业 杭州壁岐互联网科技有限公司 河南住房之家互联网科技 威龙国际互联网科技公司 扫呗互联网科技有限公司 六子台科技互联网展会
0