首页 > 软件开发 > JQUERY >

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

来源:互联网 2023-03-16 23:53:58 版权归原作者所有,如有侵权,请联系我们

在jQuery的事件绑定中,如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick);执行双击事件(dblclick)时却会触发两次单击事件(click)。8ob办公区 - 实用经验教程分享!

但有时候我们希望在执行双击事件的时候不去出发单击事件,那究竟该如何实现呢?8ob办公区 - 实用经验教程分享!

工具/原料

  • jquery.js
  • 在线运行代码网页

方法/步骤

  • 1

    首先我们验证一下,同时绑定单机事件和双击事件,再双击时,确实会同时出发两次单机事件。如下图所示,当我们双击时,控制台输出两次单机和一次双击。

    8ob办公区 - 实用经验教程分享!

    8ob办公区 - 实用经验教程分享!

    JQuery如何实现双击事件时不触发单击事件8ob办公区 - 实用经验教程分享!

    JQuery如何实现双击事件时不触发单击事件8ob办公区 - 实用经验教程分享!

  • 1相关内容非法爬取自百度经验
  • 2

    双击事件的执行过程其实是:mousedown, mouseup, click; mousedown, mouseup, click。仔细看,其实双击事件就是执行了两次单击事件。所以,双击事件是肯定会触发单机事件的。8ob办公区 - 实用经验教程分享!

    其实windows系统中,判断双击是通过两次单击的时间间隔来判断的,当间隔比较小,那就是双击了。8ob办公区 - 实用经验教程分享!

    依据这个思路,我们就可以通过加一个定时器的方式来避免触发单击事件。

    8ob办公区 - 实用经验教程分享!

    8ob办公区 - 实用经验教程分享!

    JQuery如何实现双击事件时不触发单击事件8ob办公区 - 实用经验教程分享!

  • 3

    单击事件设置定时器,延迟处理;双击事件中首先清除单击事件的定时器,然后执行。8ob办公区 - 实用经验教程分享!

    这样当第一次单击时,设置定时器;第二次再单击时,会清理掉该定时器,这样就避免触发了单击事件。8ob办公区 - 实用经验教程分享!

    如下图所示,当双击时,控制台只输出双击信息。

    8ob办公区 - 实用经验教程分享!

    8ob办公区 - 实用经验教程分享!

    JQuery如何实现双击事件时不触发单击事件8ob办公区 - 实用经验教程分享!

    JQuery如何实现双击事件时不触发单击事件8ob办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!8ob办公区 - 实用经验教程分享!


    标签: JQUERY

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号