是否在javascript中故意延迟了mouseup事件?

问题描述

我正在编写一个指令,该指令涉及用鼠标捕捉滑动手势,因此我使用了添加和删除mousedown,mousemove和mouseup事件侦听器的组合。为了方便起见,我还添加了一个鼠标离开侦听器,以用于指针何时退出滑动区域。

Vue.directive('swipe-scroll',{
  inserted(el,binding) {

    el.scroll = ({ movementX }) => {
      (...)
    };

    el.constrain = () => {
      el.removeEventListener('mousemove',el.scroll);
      el.removeEventListener('mouseleave',el.constrain);
      (...)
    };

    el.addEventListener('mousedown',() => {
      el.addEventListener('mousemove',el.scroll);
      el.addEventListener('mouseleave',el.constrain);
    });
    
    el.addEventListener('mouseup',el.constrain);
  },});

显然,它工作得很好,但是constrain函数在被mouseup事件触发时需要花费一些时间,但是事件mouseleave触发了相同的函数,执行是瞬间。我不知道延迟是因为事件本身还是因为某种节流,反跳或冒泡而延迟了处理程序执行。

触发mouseup事件时,是否有任何进程延迟处理程序的执行?如果是这样,可以以某种方式禁用它吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...