使用时间器区别网页上的单击和双击

网页上单击和双击事件有特定触发过程,ondblclick触发时会同时触发onclick。当在同一element注册这两个事件时,需进行区分。本文介绍使用延时处理的方法,给出了JavaScript代码示例,以分别处理单击和双击事件。

在网页上,单击事件包含一次 onmousedown,onmouseup,onclick的过程。同理,双击事件包含了onmousedown,onmouseup,onclick,onmousedown,onmouseup,onclick,ondblclick的过程。所以在网页上进行ondblclick触发时同时也会触发onclick,因此、当我们在同一个element同时注册了这2个事件时,我们需要将他们区别开来。以下使用延时处理来进行区别。

<script type="text/javascript">

  //当我们单击时,希望只执行clickAlert

  //当我们双击时,希望只执行dblclickAlert

  var timer;
  $(".test").on("click",function(){
    clearTimeout(timer);
    timer = setTimeout("clickAlert()",300); //单击的处理会延迟0.3秒触发
  }).on("dblclick",function(){
    clearTimeout(timer);
    dblclickAlert();
  });

  //单击要做的事情
  function clickAlert(){
    alert("此时为单击");
  }

  //双击要做的事情
  function dblclickAlert(){
    alert("此时为双击");
  }
</script>

转载于:https://www.cnblogs.com/lichenx/p/9560110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值