jquery事件机制扩展插件 jquery鼠标右键事件。


Posted in Javascript onDecember 26, 2011

jquery其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等。但是却少了一个做事件。就是鼠标右击事件。当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数。造成鼠标右击事件的效果。
但是这不是我想要的,我想要的似乎这个事件可以跟其它事件比如单击事件一样。可以被方便的使用,而不需要每次都去判断。这里通过编写jquery插件的形式扩展,让这个方法可以直接使用$().rightClick();来使用。
jQuery的插件主要分3种类型
1.封装对象方法的插件
(这种插件是将对象封装起来,用于对通过选择器获取的对象进行操作,也就是这里需要用到的方法)
2.封装全局函数的插件
(可以将独立的函数加入到jquery的命名空间下)
3.选择器插件
(虽然jquery的选择器已经很强大了,但还是会需要扩展一些自己喜欢的选择器)
其它的一些关于插件的知识大家可以自己去查阅相关资料。这里就直接开始讲了。
这里是使用的第一种插件类型,先分析下具体的编写思路。
1.使用鼠标右键事件后,将禁止所有的系统右键菜单功能
2.绑定鼠标右键事件后,实际是触发鼠标按下事件。
3.通过if来判断,如果按下的是右键则执行参数,这个参数只能是函数。如果不是右键则不执行。
相信讲到这里,对jquery很熟悉的也明白要怎么做了。
jquery事件机制扩展插件 jquery鼠标右键事件。

jquery事件机制扩展,jquery鼠标右键事件。

/*鼠标右键插件*/ 
(function($) { 
$.fn.extend({ 
//定义鼠标右键方法,接收一个函数参数 
"rightClick":function(fn){ 
//调用这个方法后将禁止系统的右键菜单 
$(document).bind('contextmenu',function(e){ 
return false; 
}); 
//为这个对象绑定鼠标按下事件 
$(this).mousedown(function(e){ 
//如果按下的是右键,则执行函数 
if(3 == e.which){ 
fn(); 
} 
}); 
} 
}); 
})(jQuery);

Javascript 相关文章推荐
jQuery.each()用法分享
Jul 31 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
Sep 14 Javascript
Js实现简单的小球运动特效
Feb 18 Javascript
AngularJS基础 ng-src 指令简单示例
Aug 03 Javascript
详解webpack自动生成html页面
Jun 29 Javascript
原生JS上传大文件显示进度条 php上传文件代码
Mar 27 Javascript
VueJS 组件参数名命名与组件属性转化问题
Dec 03 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
Vue.js实现大转盘抽奖总结及实现思路
Oct 09 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 Javascript
浅谈JavaScript作用域
Dec 06 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 #Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 #Javascript
非常有用的40款jQuery 插件推荐(系列二)
Dec 25 #Javascript
JS代码优化技巧之通俗版(减少js体积)
Dec 23 #Javascript
关于跨站脚本攻击问题
Dec 22 #Javascript
js DOM的学习笔记
Dec 22 #Javascript
jquery 年会抽奖程序
Dec 22 #Javascript
You might like
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
vue.js实现只弹一次弹框
2018/01/29 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
演讲稿开场白
2014/01/13 职场文书
安全生产检查通报
2014/01/29 职场文书
行政专员求职信范文
2014/05/03 职场文书
道歉的话怎么说
2015/05/12 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
信仰纪录片观后感
2015/06/08 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis