JavaScript实现自定义右键菜单
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实现自定义右键菜单的更多相关文章
- JavaScript自定义右键菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【连载】Bootstrap开发漂亮的前端界面之自定义右键菜单
连载: 1<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 网页中的自定义右键菜单越来越普遍,自定义右键菜单可以增强用户体 ...
- 阻止右键菜单(阻止默认事件)&&跟随鼠标移动(大图展示)&&自定义右键菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js进阶 12-18 jquery如何实现自定义右键菜单(把问题分细)
js进阶 12-18 jquery如何实现自定义右键菜单(把问题分细) 一.总结 一句话总结:用鼠标右键事件contextmenu,阻止系统默认事件,让做好的右键菜单显示出来,并且显示在我们出现的位 ...
- jquery 自定义右键菜单
如果要自定义右键菜单,那么就需要禁止原本的右键菜单,代码如下 document.oncontextmenu = new Function("return false;");//禁止 ...
- html鼠标自定义右键菜单:css+js实现自定义html右键菜单
我们在网页中很多都有右键菜单的功能,一般点击右键显示的是浏览器默认的菜单选项,那么我们直接如何通过css+js实现html的右键菜单呢?这篇文章将讲解html鼠标自定义右键菜单的实现原理和实现代码. ...
- ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单
前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...
- 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 <%@ page language=&q ...
- JS简单实现自定义右键菜单
RT,一个简单的例子,仅仅讲述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;p ...
随机推荐
- leetcode 108 和leetcode 109 II
//感想:没啥上篇写完了 //思路:对于这道题109来说,就是数组变成了链表,其他没有变,我觉得非常不解,因为我想到的依旧是找中点,用快慢指针来找, 找到以后将链表分成两半,继续递归的去找,我就觉得这 ...
- python画猫并打包成EXE文件
因python自带有海龟画图库,尝试给爱猫的小仙女来画个猫咪. 1.代码如下 from turtle import * #两个函数用于画心 def curvemove(): for i in rang ...
- Mat使用详解
背景 笔记中躺了很久的文章,今天用到Mat时发现之前写的内容还算清晰,分享出来; 如下所举例使用的dump文件是针对之前使用的ignite库溢出时的dump文件:关于ignite的概念此处不再叙述,本 ...
- redis-cli 持久化,复制,哨兵,事务,流水线
一.持久化: 快照文件RDB 保存"开始"创建新快照一刻的内存快照,创建过程的内存变化不会被记录 创建快照的办法有几种 1.客户端可以通过想Redis发送BGSAVE来创建一个快照 ...
- [Android systrace系列] 抓取开机过程systrace
------------------------------------------------------------------------- 这篇文章的小目标:了解抓取开机过程systrace的 ...
- 自动化运维工具之Puppet变量、正则表达式、流程控制、类和模板
前文我们了解了puppet的file.exec.cron.notify这四种核心资源类型的使用以及资源见定义通知/订阅关系,回顾请参考https://www.cnblogs.com/qiuhom-18 ...
- 【2020.12.01提高组模拟】卡特兰数(catalan)
题目 题目描述 今天,接触信息学不久的小\(A\)刚刚学习了卡特兰数. 卡特兰数的一个经典定义是,将\(n\)个数依次入栈,合法的出栈序列个数. 小\(A\)觉得这样的情况太平凡了.于是,他给出了\( ...
- 20191017_datatable.select() 数据源中没有dataRow
filterStr =" 记录时间 >= '2019/10/17 00:00:00' and 记录时间 <='2019/10/20 23:59:59' " 代码: dg ...
- Java面试专题-多线程篇(2)- 锁和线程池
- 第12.1节 Python os模块导览
os 模块提供了许多与操作系统交互的函数,一定要使用 import os 而不是 from os import * ,这将避免内建的 open() 函数被 os.open() 隐式替换掉,它们的使用方 ...