jquery-11 如何制作鼠标右键菜单

一、总结

一句话总结:核心原理:找到右键菜单事件contextmenu,return false去掉默认事件,然后判断用户是否点的右键,然后在鼠标的位置显示菜单。菜单弄成绝对定位,开始时设置为不显示。

1、右键菜单事件是什么?

contextmenu

40 $(document).contextmenu(function(event){

2、如何阻止默认的右键菜单事件?

在事件中return false可以阻止事件的默认行为

40 $(document).contextmenu(function(event){
41  x=event.clientX; 42  y=event.clientY; 43 44  btn=event.button; 45 46 if(btn==2){ 47  $('ul').show().css({'left':x+'px','top':y+'px'}); 48 return false; 49  } 50 });

3、如何使用事件发生的event对象?

事件发生会产生一个event对象,将它作为参数传递给匿名函数,即可在匿名函数中操作它

40 $(document).contextmenu(function(event){
41  x=event.clientX; 42  y=event.clientY;

4、如何获取鼠标在屏幕上面的位置?

有一个事件发生,将它的事件对象传递给匿名函数,在匿名函数中调用这个event对象的clientX和clientY即可获取它的鼠标位置

40 $(document).contextmenu(function(event){
41  x=event.clientX; 42  y=event.clientY;

5、如何判断用户是否点右键?

获取event对象的button属性,属性值为2即是鼠标右键,0左键,1滚轮。

44     btn=event.button;
45
46 if(btn==2){

6、如何将元素放在鼠标右键的位置?

先获取鼠标的位置(event对象的clientX和clientY属性),然后设置元素绝对定位,然后设置left和top属性即可

40 $(document).contextmenu(function(event){
41  x=event.clientX; 42  y=event.clientY; 43 44  btn=event.button; 45 46 if(btn==2){ 47  $('ul').show().css({'left':x+'px','top':y+'px'}); 48 return false; 49  } 50 });

二、如何制作鼠标右键菜单

 1 <!doctype html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>index</title>
 6     <style>
 7         *{ 8             margin:0px;
 9             padding:0px;
10         }
11
12         ul{13             width:100px;
14             height:150px;
15             background: #ccc;
16             border-radius:10px;
17             position: absolute;
18             display: none;
19         }
20
21         ul li{22             text-align: center;
23             color:#fff;
24             font-weight: bold;
25             line-height: 25px;
26         }
27     </style>
28     <script src="jquery.js"></script>
29 </head>
30 <body>
31     <ul>
32         <li><a href='http://www.yzmedu.com' target='_blank'>云知梦</a></li>
33         <li>第一菜单</li>
34         <li>第一菜单</li>
35         <li>第一菜单</li>
36         <li>第一菜单</li>
37     </ul>
38 </body>
39 <script>
40 $(document).contextmenu(function(event){
41     x=event.clientX;
42     y=event.clientY;
43
44     btn=event.button;
45
46     if(btn==2){
47         $('ul').show().css({'left':x+'px','top':y+'px'});
48         return false;
49     }
50 });
51 </script>
52 </html>

转载于:https://www.cnblogs.com/Renyi-Fan/p/9242435.html

jquery-11 如何制作鼠标右键菜单相关推荐

  1. 基于jQuery的鼠标右键菜单

    对于自制的鼠标右键功能,我们应该考虑哪些因素呢? 一.涉及因素 1.阻止默认鼠标右键事件. 3.右键事件,使菜单出现. 2.考虑右键菜单出现的位置,是否超出窗口. 4.点击窗口任意位置,菜单消失. 二 ...

  2. 将Win 11鼠标右键菜单改成Win10样式(修改注册表)

    将Win 11鼠标右键菜单改成Win10样式(修改注册表) win+R 运行"regedit",打开注册表编辑器 找到"HKEY_CURRENT_USER\SOFTWAR ...

  3. openlayer右键菜单_使用OpenLayers3 添加地图鼠标右键菜单

    添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 context ...

  4. Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出

    说明:本文出处:http://www.cnblogs.com/chengxingliang/archive/2011/02/14/1954399.html#2627673(非常感谢) 在实际应用中,我 ...

  5. 安装ATi显卡驱动后增加的鼠标右键菜单的清理

    一般最直接的方法是: 一般位于注册表的: 删除注册表HKEY_CLASSES_ROOT\Directory \Background\shellex\ContextMenuHandlers\ACE下 a ...

  6. 自定义html页面鼠标右键,javascript鼠标右键菜单自定义效果

    本文实例讲解了javascript鼠标右键菜单的实现方法,分享给大家供大家参考,具体内容如下 效果图: 具体代码: #menu{ border:solid 1px gray; width:100px; ...

  7. html 元素允许右键,JavaScript 自定义html元素鼠标右键菜单功能

    自定义html元素鼠标右键菜单 实现思路 在触发contextmenu事件时,取消默认行为(也就是阻止浏览器显示自带的菜单),获取右键事件对象,来确定鼠标的点击位置,作为显示菜单的left和top值 ...

  8. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  9. Leaflet中使用Leaflet.contextmenu插件实现地图上添加鼠标右键菜单

    场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,怎样使用Leaflet.co ...

最新文章

  1. 知乎13万赞!为何很多名校毕业生,都输在了人生后半程
  2. 线程池的 RejectedExecutionHandler(拒绝策略)
  3. TensorFlow中padding卷积的两种方式“SAME”和“VALID”
  4. 依赖注入Bean属性——手动装配Bean
  5. php7有没有使用jit,RegEx不适用于长模式PCRE的JIT编译器堆栈限制 – PHP7
  6. Codeforces Round #277 (Div. 2) A. Calculating Function 水题
  7. jQuery Mobile动态刷新页面样式
  8. 可变字符串 插入,删除,替换,赋值
  9. 是什么意思网络语_互联网推广是什么意思?新手网络推广怎么干?
  10. redo log 和undo log_MySQL 持久化保障机制-redo 日志
  11. 多变量微积分笔记10——二重积分的应用
  12. (生物信息学)R语言与统计学入门(九)—— 单因素cox回归分析
  13. 试题 基础练习 数列排序
  14. Promise的使用
  15. Qemu kvm_qemu详细教程
  16. HotSpot 术语表翻译(JVM)
  17. 一次与笨神,阿飞近距离接触修改JVM
  18. <Zhuuu_ZZ>HIVE(终)总结大全:是兄弟就来三连我
  19. 约束多目标优化 约束多目标进化/演化算法入门论文文献推荐 大部分论文代码已开源
  20. 数字图像处理与模式识别

热门文章

  1. 用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办
  2. 模块降额设计_模块电源需要注意的四个点
  3. 地图漫游功能的具体体现_一卡通考勤门禁管线系统主要模块功能说明
  4. python队列是线程安全的吗_python – 为什么我的多进程队列看起来不是线程安全的?...
  5. python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...
  6. 鸿蒙系统多屏协同,官方铁证!鸿蒙 2.0 手机来了,EMUI 11 多屏协同支持鸿蒙手机...
  7. java中map的put方法,Java TreeMap put()方法
  8. python代码解读软件_5种带你轻松分析Python代码的软件库
  9. python3命令需要使用命令行开发者工具_关于Python3的import问题(pycharm可以运行命令行import错误)...
  10. 大学学计算机的有作业吗,有没有电脑高手,大学计算机专业的作业