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. Impala的安装(含使用CM安装 和 手动安装)(图文详解)

    Impala有两种安装方式: 1)使用CM安装Impala 2)手动安装Impala 注意:Impala不支持在Debian/Ubuntu, SuSE, RHEL/CentOS 6.5系统中安装. 基 ...

  2. Appium定义接口测试

    1.Appium如何执行 Appium作为一个服务器,python的脚本代码交给Appium服务器,Appium再去与设备交互. desired_cap = {} desired_cap['platf ...

  3. 程序猿必须知道FTP命令

                                             程序猿必须知道FTP命令 文件传输软件的使用格式为:FTP<FTP地址>.若连 接成功.系统将提示用户输入 ...

  4. PowerApps和Flow,Power BI开发

    为PowerApps和Flow,Power BI开发自定义连接器 作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Mic ...

  5. import 与export详解

    ES6 1.export default 其他模块加载该模块时,import命令可以为该匿名函数指定任意名字. 如: import Vue from 'vue' vue里面的第三方模块都是用了这个 使 ...

  6. Flask项目之手机端租房网站的实战开发(十一)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...

  7. Maven搭建Spring Security3.2项目详解

    本来是打算在上一篇SpringMVC+Hibernate上写的,结果发现上面那篇 一起整合的,结果发现上一篇内容实在是太长了,就另起一篇,这篇主要是采用 Maven搭建Spring+SpringMVC ...

  8. oracle里long类型的总结

    转自原文oracle中long类型为什么不推荐使用 不是不推荐使用的,是一般用不到,而有些时候是会用到的,所以不能一概而论.1.LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB.2.对于 ...

  9. 跟我一起学extjs5(42--单个模块的数据新增方式)

    跟我一起学extjs5(42--单个模块的数据新增方式)         前面的章节中已经增加了一个自己定义的模块,而且能够进行数据的新增.改动.删除的操作了,在这个基础上就能够大作文章了. 这一节来 ...

  10. LVM 常用命令

    fdisk -l 查看硬盘信息 df -h查看文件系统使用量 fdisk /dev/sdb处理硬盘,删除分区,新建分区之类 partprobe将核心的 partition table 更新 mkfs ...