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. 接入twitter第三方登陆接口遇到的一个问题

    本地开了 Shadowsocks,然后postman模拟的twitter的接口是请求成功的,然后用php-curl去请求网址,出现以下错误 Failed to connect to api.twitt ...

  2. Apifox接口测试管理工具

    今天发现开发使用了一款新的接口测试工具,一眼看上去比较清爽,主要全中文界面对比postman的全英文,简直友好太多了. 后续又被业界大佬虫师推荐,于是去官网简单了解了一下,Apifox = Postm ...

  3. 【linux】系统调用版串口分析&源码实战

    目录 前言 参考 1. 实战分析 1.1 开发步骤 1.1.1 获取串口设备路径 1.1.2 打开设备文件 1.1.3 配置串口 termios 结构体 1. c_iflag 输入模式标志 2. c_ ...

  4. 【AcWing 113】【交互】特殊排序——二分

    (题面来自AcWing) 有N个元素,编号1.2..N,每一对元素之间的大小关系是确定的,关系不具有传递性. 也就是说,元素的大小关系是N个点与N*(N-1)/2条有向边构成的任意有向图. 然而,这是 ...

  5. 【模版】【P3806】点分治

    (7.17)早就想学点分治了--今天状态不太在线,眯一会写篇笔记来理理思路. ------------------------------------------------------------- ...

  6. 真香!Python开发工程师都选择这个数据库:因为它免费

    数据库类别 既然我们要使用关系数据库,就必须选择一个关系数据库. 目前广泛使用的关系数据库也就这么几种: 付费的商用数据库: Oracle,典型的高富帅: SQL Server,微软自家产品,Wind ...

  7. 初学者刚学c++在定义类时只有成员变量易犯的错误

    ------------------------ #include<iostream> using namespace std;//c++的命名空间 class circle { publ ...

  8. 第7.3节 Python特色的面向对象设计:协议、多态及鸭子类型

    Python是一种多态语言,其表现特征是:对象方法的调用方只管方法是否可调用,不管对象是什么类型,从而屏蔽不同类型对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 一.    P ...

  9. 第8.1节 Python类的构造方法__init__深入剖析:语法释义

    一.    引言 凡是面向对象设计的语言,在类实例化时都有构造方法,很多语言的构造方法名与类名一致,Python中类的构造方法比较特殊,必须是__init__特殊方法. 二.    语法释义 1.   ...

  10. Fiddle重定向请求

    以当当网和淘宝网为例: 1.打开浏览器,在地址栏中输入www.dangdang.com,进入当当主页. 2.在规则编辑器中设置规则,将dangdang重定向至taobao,并打开规则. 3.再次刷新当 ...