jQuery - 同时添加click和dblclick事件

添加事件的代码比较简单,有两种方法:

  • $("abc").bind({"click":fn,"dblclick":fn});
  • $("abc").click(fn).dblclick(fn)

目前的问题是无论双击或者单击都只执行单击的function,为什么呢?
下面我们说一下双击的机制:

双击(dblclick)的流程是:mousedown,mouseout,click,mousedown,mouseout,click,dblclick;

要想实现双击我们必须屏蔽这两次click,因此我们在click里面设置一个定时器,延迟执行function。
完整代码如下:

//绑定点击和双击事件
                    var _time = null;
                    $(this).find("tr").dblclick(function(e){
                        clearTimeout(_time);
                        console.log("dblclick");
                        //真正双击代码

                    }).click(function(e){
                        clearTimeout(_time);
                        _time = setTimeout(function(){
                            console.log("click");
                            //单击事件在这里

                        }, 300);
                    });

转载于:https://www.cnblogs.com/interdrp/p/6756269.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值