jQuery同时处理一个控件的click和dblclick事件


 1 jQuery.fn.single_double_click = function(single_click_callback, double_click_callback, timeout) {
2 return this.each(function(){
3 var clicks = 0, self = this;
4 jQuery(this).click(function(event){
5 clicks++;
6 if (clicks == 1) {
7 setTimeout(function(){
8 if(clicks == 1) {
9 single_click_callback.call(self, event);
10 } else {
11 double_click_callback.call(self, event);
12 }
13 clicks = 0;
14 }, timeout || 300);
15 }
16 });
17 });
18 }

以上核心应该就是那个setTimeout方法了,如果再指定的timeout或300毫秒之内没有第二次点击的话,就是单击事件,否则就是双击事件。

参考:https://gist.github.com/ncr/399624

jQuery同时处理一个控件的click和dblclick事件,布布扣,bubuko.com

时间: 2024-10-11 04:34:53

jQuery同时处理一个控件的click和dblclick事件的相关文章

jquery获取点击控件的绝对位置简单实例

在使用jquery的过程中,想取得当前点击input的绝对位置而去显示一个div,jquery本身提供offset和position这个两个方法,但position官方解释是relative to the offset parent,可以看到是针对父结点的,而offset官方解释relative to the document,貌似使用offset可以直接绝对定位.但是在网页中如果出现嵌套div的情况,top和left会叠加,因此这个时候如果要定位显示一个新的div就要把父亲结点的offset去

jQuery之自定义pagination控件

slpagination 效果: slpagination.js (function($) { $.fn.slpagination = function(options, params) { $.extend($.fn.slpagination.defaults, options); $(this).attr({ "class" : $.fn.slpagination.defaults.css, style : $.fn.slpagination.defaults.style });

jquery的智能提示控件

福利到~分享一个基于jquery的智能提示控件intellSeach.js 一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户使用.说白了,就是用户边输入,系统会提示相关的结果:或者,当用户点击搜索框时,就推荐一些内容,如360.百度都会提示今天的主要新闻或搜索量大的内容. jquery 已经有一个这样的插件了,叫 autocomplete, 但我

ExtJs5_继承自定义一个控件

Extjs的开发都可以遵循OOP的原则,其对类的封装也很完善了.自定义一个控件最简单的办法就是继承一个已有的控件.根据上一节的需要,我做了一个Button的子类.首先根据目录结构,在app目录下建立一个ux目录,将自定义控件都放在这个目录下.在ux目录下建立一个文件ButtonTransparent.js. /** * 定义了一个背景透明的Button类,继承于Button */ Ext.define('app.ux.ButtonTransparent', { extend : 'Ext.but

DataGridView添加另外一个控件。

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Drawing; 5 using System.Data; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Xml; 10 11 namespace XjxMobilenursi

Jquery获对HTML控件的控制

1.获取控件的值 1.1.radio 1.1.1 获取一组radio被选中项的值  var item = $('input[name=items][checked]').val(); 1.1.1 radio单选组的第二个元素为当前选中值  $('input[name=items]').get(1).checked = true; 1.2.select   1.2.2 获取select被选中项的文本  var item = $("select[name=items] option[selected

jquery上传文件控件Uploadify

基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个版本,一个用flash,一个是html5.html5的需要付费~所以这里只说flash版本的用法. 官网:http://www.uploadify.com/ 控件截图: 用法: 首先引用下面的文件 <link rel="stylesheet" type="text/css&

jquery仿jquery mobile的select控件效果

不说废话,直接上代码 //仿jQuery mobile Select控件 //用法box为容器id,_id指控件id,selectvalue为选中值,Value为当前值 function SelectBox(box,_id,selectvalue,Value) { if(Value != selectvalue) { $("#" + box).html("<input type=hidden value='" + Value + "' id='&qu

为什么Jquery对input file控件的onchange事件只生效一次

今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解决方法的: 1.原始方法:把事件写在file控件的onchange=""里面: 2.Jquery方法一: $('#fileId').live('change',function(){ //逻辑添加.... }); 3.Jquery方法二: onchange后,生成一个新input type