JavaScript实现自定义右键菜单,思路如下:

1. 屏蔽默认右键事件;

2. 隐藏自定义的菜单模块(如div、ul等);

3. 右键点击特定或非特定区域,显示菜单模块;

4. 再次点击,隐藏菜单。

明确了思路,下面给出相关代码:

HTML:

 1 <!--Right Click Menu-->
2 <div id="background">Click Here</div>
3 <div class="right-menu" id="right-menu">
4 <ul>
5 <b>选择类型:</b>
6 </ul>
7 <div align="center">
8 <a href='javascript:;' value="01">拼接视频文件</a>
9 <a href='javascript:;' value="02">拼接图片文件</a>
10 <a href='javascript:;' value="03">拼接字幕文件</a>
11 <a href='javascript:;' value="04">流媒体文件</a>
12 <a href='javascript:;' value="05">图片文件</a>
13 <a href='javascript:;' value="06">字幕文件</a>
14 <a href='javascript:;' value="07">动画文件</a>
15 <a href='javascript:;' value="08">字体文件</a>
16 <a href='javascript:;' value="09">音视频文件</a>
17 </div>
18 </div>

JavaScript:

 1 window.onload = function(){
2 var forRight = document.getElementById("right-menu");
3 document.getElementById("background").oncontextmenu = function(event){
4 var event = event || window.event;
5 //显示菜单
6 forRight.style.display = "block";
7 //菜单定位
8 forRight.style.left = event.pageX+"px";
9 forRight.style.top = event.pageY+"px";
10 //return false为了屏蔽默认事件
11 return false;
12 };
13 //再次点击,菜单消失
14 document.onclick=function(){
15 forRight.style.display = "none";
16 };
17 };

CSS:

 1 #background {
2 background-color: #4db3a2;
3 width: 500px;
4 height: 300px;
5 }
6 .right-menu {
7 position: absolute;
8 z-index: 99999;
9 overflow: hidden;
10 width: 150px;
11 background-color: #FFFFFF;
12 border: dimgray 1px solid !important;
13 font-size: 14px;
14 list-style-type: none;
15 display: none;
16 }

JavaScript实现自定义右键菜单的更多相关文章

  1. JavaScript自定义右键菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 【连载】Bootstrap开发漂亮的前端界面之自定义右键菜单

    连载: 1<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 网页中的自定义右键菜单越来越普遍,自定义右键菜单可以增强用户体 ...

  3. 阻止右键菜单(阻止默认事件)&&跟随鼠标移动(大图展示)&&自定义右键菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. js进阶 12-18 jquery如何实现自定义右键菜单(把问题分细)

    js进阶 12-18  jquery如何实现自定义右键菜单(把问题分细) 一.总结 一句话总结:用鼠标右键事件contextmenu,阻止系统默认事件,让做好的右键菜单显示出来,并且显示在我们出现的位 ...

  5. jquery 自定义右键菜单

    如果要自定义右键菜单,那么就需要禁止原本的右键菜单,代码如下 document.oncontextmenu = new Function("return false;");//禁止 ...

  6. html鼠标自定义右键菜单:css+js实现自定义html右键菜单

    我们在网页中很多都有右键菜单的功能,一般点击右键显示的是浏览器默认的菜单选项,那么我们直接如何通过css+js实现html的右键菜单呢?这篇文章将讲解html鼠标自定义右键菜单的实现原理和实现代码. ...

  7. ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单

    前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...

  8. 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]

    许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 <%@ page language=&q ...

  9. JS简单实现自定义右键菜单

    RT,一个简单的例子,仅仅讲述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;p ...

随机推荐

  1. 【性能测试】【locust】快速入门

    简介 locust是一个开源的分布式用户负载压力测试工具,对网站(其他系统,例如接口等)进行负载测试,并确定可以处理多少的并发用户,locust特点利用了协程支持,达到高数量级别的并发,以及基于事件驱 ...

  2. ceph 集群快速部署

    1.三台Centos7的主机 [root@ceph-1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)    2.主机 ...

  3. Vue3 Teleport

    为什么需要 Teleport? 以 Dialog 组件为例,通常需要在一个组件中引入 Dialog 组件.然而,有时一部分逻辑属于 Dialog 所在的组件中,从技术角度来看,最好将这一部分移动到根节 ...

  4. 【对不起】我并不是真的会用spring

    19年12月4日,为了测试另外一个部门的服务在注册到这边zk后能否拿到dubbo代理,在controller草草写了一个http服务请求之,发现所有的dubbo接口都没有被注入代理,排查许久之后,发现 ...

  5. DNS、IP地址、子网掩码和默认网关

    一.DNS服务器 DNS是指:域名服务器(Domain Name Server).在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转 ...

  6. 训练yolo之前,anchor聚类问题

    前期做数据可视化,发现标签数据存在一些孤立点(噪声点),影响kmeans聚类. 处理方法如下: 使用kmeans迭代10次得到聚类中心 计算所有数据到其聚类中心的欧式距离均值和方差 通过拟合正态分布, ...

  7. 总结一下 php连接oracle,完全可用。

    大致有两种方法 第一种 开启php_pdo_oci扩展,一般集成环境都会有这个扩展. 这个东西还是比较简单的,去官网查看吧 http://php.net/manual/zh/book.pdo.php ...

  8. Python中判断一个中文是否中文数字的方法

    Python内置功能非常强大,在字符串内置函数中提供了一个判断字符串是否全数字的方法,而且这个方法不只是简单判断阿拉伯数字,包括中文数字和全角的阿拉伯数字都认识,这个函数就是字符串的isnumeric ...

  9. 第11.5节 Python正则表达式搜索任意字符匹配及元字符“.”(点)功能介绍

    在re模块中,任意字符匹配使用"."(点)来表示, 在默认模式下,点匹配除了换行的任意字符.如果指定了搜索标记re.DOTALL ,它将匹配包括换行符的任意字符.关于搜索标记的含义 ...

  10. go学习第四天

    昨天通宵加班,暂停了一天学习,今天再偷懒下,学习半个小时