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

因为最近技术长进缓慢,也没高手带,只能靠自己了,所以想仿个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鼠标右键事件。
使用方法跟其它事件一样

时间: 2024-10-29 17:51:06

jquery事件机制扩展插件 jquery鼠标右键事件_jquery的相关文章

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

jquery其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等.但是却少了一个做事件.就是鼠标右击事件.当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数.造成鼠标右击事件的效果. 但是这不是我想要的,我想要的似乎这个事件可以跟其它事件比如单击事件一样.可以被方便的使用,而不需要每次都去判断.这里通过编写jquery插件的形式扩展,让这个方法可以直接使用$().rightClick();来使用. jQuery的插件主要分3种类型 1.封装对象方法的插件 (这种

jquery实现的有选择性禁用鼠标右键

jquery实现的有选择性禁用鼠标右键: 使用比较暴力的手段禁用鼠标右键是不人性化的,所以最好还是有选择性的禁用鼠标右键. 代码实例如下: <!DOCTYPE html> <html>  <head>  <meta charset="utf-8">  <meta name="author" content="http://www.45it.com/" />  <title>电

jquery弹出框插件jquery.ui.dialog用法分析_jquery

本文实例讲述了jquery弹出框插件jquery.ui.dialog用法.分享给大家供大家参考,具体如下: 1. jquery.ui.dialog 官方地址 http://jqueryui.net/dialog/ jquery.ui.dialog是一个非常灵活的模式框,它的官方地址为: http://docs.jquery.com/UI/Dialog 2. 文件引用 要使用jquery.ui.dialog,需要引用两个文件,1个是js,另外1个是css 在contentpage中添加: <scr

asp.net jquery无刷新分页插件(jquery.pagination.js)_实用技巧

采用Jquery无刷新分页插件jquery.pagination.js 实现无刷新分页效果 友情提示:本示例Handler中采用StringBuilder的append方法追加HTML,小数据量可以,但是大数据或是布局常变,建议返回JSON格式的数据,性能和灵活性更好! 1.插件参数列表  2.页面内容: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defaul

控件-怎么设置Jquery 多选下拉列表插件jquery multiselect 的高度?

问题描述 怎么设置Jquery 多选下拉列表插件jquery multiselect 的高度? 企业的代码是 .multiselect(); 库有用到jquery.jqueryui.jquery multiselect 试过在方法中,加height,minheight,但这个高度改变的是下拉列表的高度,不是控件的高度. 要怎么改变控件本身的高度呢? 控件的源码是 $.widget("ech.multiselect", { // default options options: { he

jQuery显示隐藏密码插件jquery.toggle-password演示

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>jQuery显示隐藏密码插件jquery.toggle-password演示_dowebok</title> <style> * { margin: 0; padding: 0; } body { font: 14px Arial, san

在flex中监听鼠标右键事件,提示 TypeError Error 2007 参数type不能为空。

在flex中监听鼠标右键事件 ,报错,提示 缺少参数. TypeError: Error 2007: 参数 type 不能为空. at flash.events::EventDispatcher/addEventListener() at com.waylau.eagleos.components::DesktopExplorer/service_resultHandler()[D:\workspaceFB47\com.waylau.eagleos_0.9.5\src\com\waylau\ea

jQuery Easyui Tabs扩展根据自定义属性打开页签_jquery

easyui是一个轻量级的后台管理系统框架,各种组件均有,使用简单方便,现在已经有免费版的License了. 1.增加扩展 <script type="text/javascript" > /** * @author {kexb} easyui-tab扩展根据id切换页面 */ $.extend($.fn.tabs.methods, { getTabById: function (jq, id) { var tabs = $.data(jq[0], 'tabs').tabs

基于jQuery的消息提示插件之旅 DivAlert(三)_jquery

本版本遵循了2.0的写法,此处通过extend方法封装了需要设置的各个选项,比起2.0版本的代码要精简了一些. 2.0版本 复制代码 代码如下: //设置插件基本信息 var options = o || {}; options.width = o.width || 300; //提示框宽度若小于104px则自动重置为200px if (options.height > 104) { options.height = o.height; } else { options.height = 200