美文网首页
单击事件和双击事件冲突问题

单击事件和双击事件冲突问题

作者: 北风吹_yfy | 来源:发表于2019-10-31 16:56 被阅读0次

同一个元素上,绑定多种事件类型,比较常见的是单击事件和一些鼠标事件,一般而言影响不大。但是如果同时绑定单击事件和双击事件呢?

单击事件执行过程:mousedown, mouseup, click。双击事件的执行过程:mousedown, mouseup, click; mousedown, mouseup, click。仔细看,其实双击事件就是执行了两次单击事件,那这种情况下,怎么才能避免触发单击事件呢?

解决问题的关键在于延迟定时器setTimeout,单击事件延迟执行,如果检测到连续点击的话,就认为是双击事件,不在执行单击事件。

//  单击事件<br>var timer = null;
let timer = null;
$('.mask-body').on('click', '.leaver-student', function () {   // 点击输入框展开下拉列表
  clearTimeout(timer);
  timer = setTimeout(function () {   // 这里采用执行自定义事件的方式
    $('.leaver-student').trigger('slide');     
  }, 300);   // 延迟300ms执行单击事件
});
//  双击输入框时可以输入学生姓名  双击事件
$('.mask-body').on('dblclick', '.leaver-student', function (ev) {
  ev.stopPropagation();
  clearTimeout(timer);
  $('.leavers li').trigger('click');
  $(this).removeAttr('readonly').val('').focus();
});

相关文章

  • 单击事件和双击事件冲突问题

    同一个元素上,绑定多种事件类型,比较常见的是单击事件和一些鼠标事件,一般而言影响不大。但是如果同时绑定单击事件和双...

  • 双击事件和单击事件冲突

    只要使用GestureDetector就能解决这个问题 单击事件写在onSingleTapConfirmed(ev...

  • js单击双击事件冲突问题

    解决同一元素上的单击双击冲突问题 先上代码: 实现思路:双击button元素(在250ms内,简写为btn),其实...

  • iOS单击和双击冲突事件

    //单击的Recognizer UITapGestureRecognizer*singleRecognizer; ...

  • 实现html/js同时启用单双击事件

    在同一个dom元素同时启用了单击和双击事件时,双击会触发两次单击事件和一次双击事件,并且触发顺序是:单击1 -> ...

  • js基本事件

    单击事件:onclick:单击事件ondbclick:双击事件 鼠标事件:onmousemove:鼠标移动事件on...

  • 五、jQuery事件

    一、鼠标事件 1、鼠标点击 注意1、双击事件伴随着单击事件,因此双击事件会触发两次单击事件2、单击事件又伴随着mo...

  • jQuery系列(四) -- 事件

    鼠标事件 .click() ==> 单击事件 .dblclick() ==> 双击事件 .mousedown() ...

  • 事件

    事件触发方法:onclick="单击触发事件";ondblclick="双击触发事件";onmousedown="...

  • UITabBarItem 双击事件

    业务需求:在选中某一Tab后,为其添加单击和双击事件(注意单击双击事件必须需独立,不能同时触发) 方案构思: 方案...

网友评论

      本文标题:单击事件和双击事件冲突问题

      本文链接:https://www.haomeiwen.com/subject/ugmtbctx.html