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

 更新时间:2011年12月21日 19:26:22   作者:  
jquery其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等。但是却少了一个做事件。就是鼠标右击事件。当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数。造成鼠标右击事件的效果
因为最近技术长进缓慢,也没高手带,只能靠自己了,所以想仿个WEBQQ来锻炼下自己。做之前最好先把必要的东西准备好。jquery其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等。但是却少了一个做事件。就是鼠标右击事件。当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数。造成鼠标右击事件的效果。

但是这不是我想要的,我想要的似乎这个事件可以跟其它事件比如单击事件一样。可以被方便的使用,而不需要每次都去判断。这里通过编写jquery插件的形式扩展,让这个方法可以直接使用$().rightClick();来使用。

jQuery的插件主要分3种类型

1.封装对象方法的插件

(这种插件是将对象封装起来,用于对通过选择器获取的对象进行操作,也就是这里需要用到的方法)

2.封装全局函数的插件

(可以将独立的函数加入到jquery的命名空间下)

3.选择器插件

(虽然jquery的选择器已经很强大了,但还是会需要扩展一些自己喜欢的选择器)

其它的一些关于插件的知识大家可以自己去查阅相关资料。这里就直接开始讲了。

这里是使用的第一种插件类型,先分析下具体的编写思路。

1.使用鼠标右键事件后,将禁止所有的系统右键菜单功能

2.绑定鼠标右键事件后,实际是触发鼠标按下事件。

3.通过if来判断,如果按下的是右键则执行参数,这个参数只能是函数。如果不是右键则不执行。

相信讲到这里,对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);

复制代码 代码如下:

$(document).ready(function(e){
$("body").rightClick(function()(alert("右键单击")));
});

jquery事件机制扩展,jquery鼠标右键事件。
使用方法跟其它事件一样

相关文章

  • js过滤HTML标签以及空格的思路及代码

    js过滤HTML标签以及空格的思路及代码

    今天要做一个应用--判断编辑器中文字的个数。如果少如20个字就不能让其提交。没多想,正好周末的时候看了一下js中正则表达式的内容。很容易就想到了要用正则表达式来解决这个问题。虽说看了正则表达式的内容是看了,但是毕竟还是刚接接触,连基本的概念都很模糊,于是只好在网上找到如下的代码:
    2013-05-05
  • JQuery处理json与ajax返回JSON实例代码

    JQuery处理json与ajax返回JSON实例代码

    json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法
    2014-01-01
  • 使用jQuery的easydrag插件实现可拖动的DIV弹出框

    使用jQuery的easydrag插件实现可拖动的DIV弹出框

    EasyDrag 是一个用来实现页面元素拖拉的 jQuery 插件。接下来通过本文给大家介绍使用jQuery的easydrag插件实现可拖动的DIV弹出框,感兴趣的朋友一起学习吧
    2016-02-02
  • jQuery的写法不同导致的兼容性问题的解决方法

    jQuery的写法不同导致的兼容性问题的解决方法

    今天用jQuery操作table时,出现了一个兼容性的问题,以前都说jQuery的兼容性是绝对可靠的,今天发现了这个bug!
    2010-07-07
  • 解决jquery异步按一定的时间间隔刷新问题

    解决jquery异步按一定的时间间隔刷新问题

    我想将一个网页上的图片按一定的时间间隔刷新,不改变图片的名称,我在服务器端改变图片的内容,以此来实现动态的效果
    2012-12-12
  • jQuery实现公告新闻自动滚屏效果实例代码

    jQuery实现公告新闻自动滚屏效果实例代码

    这篇文章主要介绍了jQuery实现公告新闻自动滚屏效果实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • jquery浏览器滚动加载技术实现方案

    jquery浏览器滚动加载技术实现方案

    Google阅读器上有一个AJAX效果很不错,就是阅读项目时不需要翻页,浏览器滚动条往下拉到一定位置时自动加载新的一批项目进来,一直到所有项目加载完为止。对于我来说再好不过了,因为我很不喜欢翻页,尤其是输入页码再定位到页。
    2014-06-06
  • jQuery实现在HTML文档加载完毕后自动执行某个事件的方法

    jQuery实现在HTML文档加载完毕后自动执行某个事件的方法

    这篇文章主要介绍了jQuery实现在HTML文档加载完毕后自动执行某个事件的方法,结合实例形式分析了document的ready()事件自动加载执行事件的相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • jQuery复合事件用法示例

    jQuery复合事件用法示例

    这篇文章主要介绍了jQuery复合事件用法,结合具体实例形式分析了jQuery复合事件的简单定义与使用方法,需要的朋友可以参考下
    2017-06-06
  • jQuery.deferred对象使用详解

    jQuery.deferred对象使用详解

    这篇文章主要为大家详细介绍了jQuery.deferred对象的使用方法,内容很全面,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论