JQuery如何实现双击事件时不触发单击事件

单击和双击事件的执行顺序:

单击(click):mousedown,mouseout,click;
  双击(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;

在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。

  如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。

//定义setTimeout执行方法
var time = null;

$(‘div‘).click(function () {
    // 取消上次延时未执行的方法
    clearTimeout(time);
    //执行延时
    time = setTimeout(function(){
        //do function在此处写单击事件要执行的代码
    },300);
});

$(‘div‘).dblclick(functin () {
    // 取消上次延时未执行的方法
    clearTimeout(time);
    //双击事件的执行代码
});
时间: 2024-10-17 10:06:19

JQuery如何实现双击事件时不触发单击事件的相关文章

JQuery如何实现双击事件时不触发单击事件,解决鼠标单双击冲突问题

在jQuery的事件绑定中,如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click). 但有时候我们希望在执行双击事件的时候不去出发单击事件,那究竟该如何实现呢? 少bb 上代码 : <!DOCTYPE html> <html lang="en"> <head> <meta charset

jquery双击事件(dblclick)时,不触发单击事件(click)

在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click).即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click). 先看一下点击事件的执行顺序: 单击(click):mousedown,mouseout,click: 双击(dblclick):mousedown,mous

[转]jQuery 双击事件(dblclick)时,不触发单击事件(click)

例1: 链接:http://www.w3school.com.cn/jquery/event_dblclick.asp HTML 系列教程 浏览器脚本 服务器脚本 ASP.NET 教程 XML 系列教程 Web Services 系列教程 建站手册 jQuery 教程 jQuery 教程 jQuery 简介 jQuery 安装 jQuery 语法 jQuery 选择器 jQuery 事件 jQuery 效果 jQuery 隐藏/显示 jQuery 淡入淡出 jQuery 滑动 jQuery 动画

jQuery 双击事件(dblclick)时,不触发单击事件(click)

在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click).即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click). 先看一下点击事件的执行顺序: 单击(click):mousedown,mouseout,click: 双击(dblclick):mousedown,mous

当元素获得焦点和失去焦点时,触发 的事件。

我遇到一个问题,点击文本框时,文本框的值消失,点击文本框外时,值还原.经过一系列的过程, 解决的内容:如下: 下面内容摘取于Jquery. 当元素获得焦点时,触发 focus 事件. 可以通过鼠标点击或者键盘上的TAB导航触发.这将触发所有绑定的focus函数,注意,某些对象不支持focus方法. 当页面加载后将 id 为 'login' 的元素设置焦点: $(document).ready(function(){ $("#login").focus(); }); 使人无法使用文本框:

金蝶VB插件,单据保存时总是触发GetFocus事件

在做金蝶插件时,在保存时,总是触发GetFocus事件,让人很伤心啊 Private Sub m_BillInterface_GotFocus(ByVal sKey As String, ByVal dctData As KFO.IDictionary, ByVal curDspValue As Variant, ByVal Col As Long, ByVal Row As Long, Cancel As Boolean) If (Row > 0 And r <> -110 And r

combotree允许多选的时候onSelect事件会重复触发onCheck事件

分享个combotree允许多选的时候onSelect事件(通常是点击“+”号时)会重复触发onCheck事件的蠢解决办法是: 1.弄一个全局变量: var loading = false; //表示在触发combotree各种事件时是否遍历树: 2.设置onSelect时不做任何操作: $("input[name='XXXXX']").combotree({ ... onSelect: function(node) { return; }, ... }); 3.设置onBeforeL

jquery 鼠标右键事件、左键单击事件判定

$(function(){ $('a').mousedown(function(e){ alert(e.which) // 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键 return false;//阻止链接跳转 }) }) 如 : $('#as121').mousedown(function(e){           if(3 == e.which){                alert('这 是右键单击事件');                      }el

双击时不运行单击事件——加延时判断

思路很简单,就是加一个延时,判断在特定时间内是否有第二个鼠标事件 [cpp] view plaincopyprint? //tqt.h #ifndef TQT_H_ #define TQT_H_ #include <QtGui> #include <QtCore> class ClickedLabel : public QLabel { Q_OBJECT private: int press; //QTimer *timer; protected: void mousePressE