JavaScript自定义鼠标右键菜单
下面为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>"标签中可以放其它的控件,菜单选项也可以换成超链接或者是按钮
JavaScript自定义鼠标右键菜单的更多相关文章
- javascript 自定义鼠标右键菜单
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- javascript自定义浏览器右键菜单
javascript自定义浏览器右键菜单 在书上看到document对象还有一个contextmenu事件,但是不知为什么w3school中找不到这个耶... 利用这个特性写了个浏览器的右键菜单, ...
- js自定义鼠标右键菜单
document.oncontextmenu = function(e) { return false; } document.onmousedown = function(e) { switch(e ...
- JavaScript模拟鼠标右键菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JQuery模拟网页中自定义鼠标右键菜单
题外话.......最近在开发一个网站项目的时候,需要用到网页自定义右键菜单,在网上看了各路前辈大神的操作,头晕目眩,为了达到目的,突然灵机一动,于是便有了这篇文章. 先放个效果图(沾沾自喜,大神勿喷 ...
- jq自定义鼠标右键菜单
效果: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- Win10 自定义鼠标右键菜单
1. 点击文件鼠标右键显示软件 1.1 步骤 win+R输入regedit进入注册表 定位到HKEY_CLASSES_ROOT\*\shell下 在shell创建一个你想要的右键文件 例如:Kinok ...
- Win7如何自定义鼠标右键菜单 添加用记事本打开
鼠标右键用记事本打开.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Notepad] @="用记事本 ...
- Win7如何自定义鼠标右键菜单 添加新建WORD文档
鼠标右键添加新建WORD文档.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.doc] @="Word.Docume ...
随机推荐
- mysql concat筛选查询重复数据
SELECT * from (SELECT *,concat(field0,field1)as c from tableName) tt GROUP BY c HAVING count(c) > ...
- 某公司的U3D笔试题
某公司的U3D笔试题 今天这套笔试题感觉做得一般. 随后是二对一的技术面试,但涉及的技术细节相对较少,更多的是对以前工作.项目经历的询问. 然后说今天先到这里,让我等通知. 我还特意问了一下,通知 ...
- L2-018 多项式A除以B(模拟)
这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...
- 微信小程序记账本进度四
//index.wxml <view class="container"> <form catchsubmit="formSubmit" &g ...
- centos 7.4安装zabbix 3
1.安装前准备 1)关闭防火墙 systemctl status firewalld #查看防火墙状态 systemctl stop firewalld.service #停止firewall sys ...
- code first , Migration
文章引用至: https://www.cnblogs.com/panchunting/p/entity-framework-code-first-migrations.html 随着业务的增加, 之前 ...
- Flask-Session 简单使用
一 知识点 1. 安装 flask 1.0.2 使用Flask-Session,其实必须需要配置的只有这几个地方: 注意!!!!!!: 1. 需要配置的地方1 # flask_session 中的S ...
- session cookie简介
会话机制:Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身 ...
- Centos 系统swap虚拟内存添加与删除配置
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...
- 在MyEclipse中使用spring-boot+mybatis+freemarker实现基本的增删改查
一.基本环境 二.创建实体类 1.User.java package bjredcross.rainbowplans.model; import bjredcross.rainbowplans.com ...