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 相关文章推荐
js遍历td tr等html元素
Dec 13 Javascript
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
JQuery实现简单的服务器轮询效果实例
Mar 31 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
浅析vue-router原理
Oct 19 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
Jul 03 Javascript
vue中axios的二次封装实例讲解
Oct 14 Javascript
vue项目支付功能代码详解
Feb 18 Vue.js
查看源码的工具 学习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
编译问题
2006/10/09 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
Ext 今日学习总结
2010/09/19 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
python 图片验证码代码
2008/12/07 Python
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python装饰器与递归算法详解
2016/02/18 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python编程线性回归代码示例
2017/12/07 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
生产部统计员岗位职责
2014/01/05 职场文书
护士毕业生自荐信
2014/02/07 职场文书
小学教学随笔感言
2014/02/26 职场文书
生物技术专业求职信
2014/06/10 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js
Java Spring读取和存储详细操作
2022/08/05 Java/Android