JavaScript 中并没有原生的鼠标长按事件,但可以通过'mousedown' 和 'setTimeout' 函数来实现。

具体实现方法如下:

  1. 监听'mousedown' 事件,当鼠标按下时设置一个定时器,并在定时器中触发长按事件。
  2. 监听'mouseup' 和 'mouseleave' 事件,当鼠标松开或移出元素时,清除定时器。
  3. 在定时器中触发长按事件,并设置一个变量来记录长按的状态。

示例代码:

let timer = null;
let isLongPress = false;

element.addEventListener('mousedown', function(e) {
  timer = setTimeout(function() {
    isLongPress = true;
    // 触发长按事件
  }, 500); // 长按时间设置为500ms
});

element.addEventListener('mouseup', function(e) {
  clearTimeout(timer);
  if (isLongPress) {
    isLongPress = false;
    // 长按事件已经触发,无需再次触发
  }
});

element.addEventListener('mouseleave', function(e) {
  clearTimeout(timer);
  if (isLongPress) {
    isLongPress = false;
    // 长按事件已经触发,无需再次触发
  }
});
JavaScript 鼠标长按事件实现方法

原文地址: https://www.cveoy.top/t/topic/mN0P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录