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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
Mar 13 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
ionic3 懒加载
Aug 16 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
vue interceptor 使用教程实例详解
Sep 13 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 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检测url是否存在的方法
2015/04/14 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python字符串处理实例详解
2017/05/18 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python 的topk算法实例
2020/04/02 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
若干个Java基础面试题
2015/05/19 面试题
化学专业毕业生求职信
2014/07/28 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
公司授权委托书样本
2014/09/15 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
十八大观后感
2015/06/12 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python