JavaScript自定义鼠标右键菜单
2024-10-12 16:31:58
下面为JavaScript代码
window.onload = function () {
//好友列表
var f = 0;
//判断指定id的元素在页面中是否存在
if (document.getElementById("menu")) {
var menu1 = document.getElementById("menu");
f = 1;
}
document.oncontextmenu = function (e) {
//菜单定位
//阻止执行默认的鼠标右键事件
e.preventDefault();
if (f == 1) {
menu1.style.display = "block";
//设置自定义菜单的坐标
menu1.style.left = e.offsetX + "px";
menu1.style.top = e.clientY - 100 + "px";
}
return false;//目的也是阻止执行默认的鼠标右键事件且必须放在最后
} if (document.getElementById("contain")) {
document.getElementById("contain").onmousedown = function (e) {
//右击时显示菜单,点击左键或滚轮时隐藏菜单,设置菜单的默认visibility:hidden
if (e.button == 2) {
menu1.style.visibility = "visible";
} else {
menu1.style.visibility = "hidden";
}
}
}
}
对应的页面div格式可以如下
//css样式另外设置
<div id="contain">
</div>
<div id=menu class="menu">
<div class="menu-item">菜单选项一</div>
<div class="menu-item">菜单选项二</div>
</div>
contain "<div>"标签中可以放其它的控件,菜单选项也可以换成超链接或者是按钮
最新文章
- AspNetPager分页控件
- C标准库<;string.h>;实现
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块
- Android 给listview设置分割线与边界的距离
- 6个好用的Web开发工具
- The Apache™ Batik Project
- 最近见到的JS返回函数的一些题
- 最近邻查找算法kd-tree
- UOJ#375. 【ZJOI2018】迷宫
- Paramiko模块简单使用
- PHP 实现多网站共享用户SESSION 数据解决方案
- Raft 基础
- Advanced redirection features
- Hive执行sql文件
- 使用7zip批量压缩文件夹到不同压缩包
- TensorFlow --playground游乐场
- zookeeper单机集群搭建
- 获取laravel项目的路径的内置帮助函数
- c# 连等的写法都做了什么?
- Oracle:在 debian9 上完美安装 oracle 10.2.0.5 x64
热门文章
- CSL 的神奇序列(猜猜猜?)
- java利用反射动态加载方法
- 从xampp到phpmyadmin
- Linux vim常见使用详解
- Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
- 使用struts2框架后的拦截器
- linux学习第十七天 (Linux就该这么学)
- springboot Ehcache使用
- WinForm DotNetBar 动态添加DataGridView
- JavaSE 初学系统托盘图标SystemTray类