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 });

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

 <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>index</title>
<style>
*{
margin:0px;
padding:0px;
} ul{
width:100px;
height:150px;
background: #ccc;
border-radius:10px;
position: absolute;
display: none;
} ul li{
text-align: center;
color:#fff;
font-weight: bold;
line-height: 25px;
}
</style>
<script src="jquery.js"></script>
</head>
<body>
<ul>
<li><a href='http://www.yzmedu.com' target='_blank'>云知梦</a></li>
<li>第一菜单</li>
<li>第一菜单</li>
<li>第一菜单</li>
<li>第一菜单</li>
</ul>
</body>
<script>
$(document).contextmenu(function(event){
x=event.clientX;
y=event.clientY; btn=event.button; if(btn==2){
$('ul').show().css({'left':x+'px','top':y+'px'});
return false;
}
});
</script>
</html>
 

jquery-11 如何制作鼠标右键菜单的更多相关文章

  1. jQuery自定义Web页面鼠标右键菜单

    jQuery自定义Web页面鼠标右键菜单 右键菜单是固定的,很多时候,我们需要自定义web页面自定义菜单,指定相应的功能. 自定义的原理是:jQuery封装了鼠标右键的点击事件(“contextmen ...

  2. Jquery如何禁止鼠标右键菜单

    jquery中使用contextmenu事件,如果返回true,则允许右键菜单:如果返回false,则禁止右键菜单 导入文件 <script type="text/javascript ...

  3. OpenLayers 3 之 加入地图鼠标右键菜单

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

  4. Qt creator 创建鼠标右键菜单 (不新建类)

    界面 步骤 打开你的界面文件并选中你要添加右键的控件,选择“CustomContextMenu” 右键选择“转到槽...” -> customContextMenuRequested 插入下面代 ...

  5. 如何在C#添加鼠标右键菜单

    C#添加鼠标右键方法步骤: 1 选中要添加右键功能的Form或者控件,打开控件的设计页面. 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上.这时系 ...

  6. 将EmEditor加入到鼠标右键菜单

    在清理系统的时候,无意中将EmEditor的鼠标右键功能给清理掉了,在EmEditor的配置中又没有找到如何加入到鼠标右键菜单的方法,只好使用导入注册表功能了,以下的代码,拷贝到记事本中,保存为EmE ...

  7. JAVA GUI学习 - JPopupMenu鼠标右键菜单组件学习

    public class JPopmenuKnow { public void test() { //为表格添加鼠标右键菜单 JMenuItem jMenuItemFileInfo = new JMe ...

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

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

  9. Qt532.【转】Qt创建鼠标右键菜单

    ZC:可以通过 设置  (QWebView*)->setContextMenuPolicy(NoContextMenu); 来关闭 QWebView的默认右键菜单 Qt创建鼠标右键菜单_疯华正茂 ...

随机推荐

  1. local-语言切换监听事件

    今天在更改时钟的问题的时候,需要监听语言切换来刷新时钟的显示.记录下监听方法 //注册监听事件 intentFilter.addAction(Intent.ACTION_LOCALE_CHANGED) ...

  2. 47.__if_not_exists语句

    #include <iostream> using namespace std; template<class T> class myclass { public: T t; ...

  3. React项目编译node内存溢出

    坑爹的node 内存溢出 react开发项目  安装一个插件依赖 ,然后就报错了 报错如下(自己的没有截图出来 这是从别人的截图---报错基本差不多) 之前因为项目大而且旧的原因  使用 过      ...

  4. 前端项目中常用es6知识总结 -- let、const及数据类型延伸

    项目开发中一些常用的es6知识,主要是为以后分享小程序开发.node+koa项目开发以及vueSSR(vue服务端渲染)做个前置铺垫. 项目开发常用es6介绍 1.块级作用域 let const  2 ...

  5. CISP/CISA 每日一题 四

    CISA 每日一题(答) 连续在线审计技术: 1.系统控制审计检查文件和内嵌审计模型(SCARF/EAM):非常复杂,适用于正常处理不能被中断:通过在组织的主机应用系统中内嵌经特别编写的审计软件,使审 ...

  6. JavaScript学习总结(1)——JavaScript基础

    一.JavaScript语言特点 1.1.JavaScript是基于对象和事件驱动的(动态的) 它可以直接对用户或客户输入做出响应,无须经过Web服务程序.它对用户的响应,是采用以事件驱动的方式进行的 ...

  7. Accelerated C++:通过演示样例进行编程实践——练习解答(第9章)

    我的Github地址:https://github.com/lanbeilyj/Accerlerated-C-plus-plus 9-0. Compile, execute, and test the ...

  8. Java Web学习总结(6)——通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 package gacl.res ...

  9. COCOS学习笔记--持续动作ActionInterval

    上一篇博客介绍了即时动作ActionInstant.与即时动作相对的是持续动作ActionInterval. 顾名思义,持续动作就是须要一段时间来持续运行的动作,而且在有限时间内改变运行对象的一些属性 ...

  10. 【原创】面向对象版本地CPU资源占用监控脚本

    前期准备: 1.python2.7环境 2.相关第三方库下载安装 脚本工作过程: 1.根据输入的进程名判断进程是否存在,如果不存在则进行等待,直到检测到进程PID,中途进程退出抛出异常,键入enter ...