JavaScript 鼠标长按事件实现方法
JavaScript 中并没有原生的鼠标长按事件,但可以通过'mousedown' 和 'setTimeout' 函数来实现。
具体实现方法如下:
- 监听'mousedown' 事件,当鼠标按下时设置一个定时器,并在定时器中触发长按事件。
- 监听'mouseup' 和 'mouseleave' 事件,当鼠标松开或移出元素时,清除定时器。
- 在定时器中触发长按事件,并设置一个变量来记录长按的状态。
示例代码:
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;
// 长按事件已经触发,无需再次触发
}
});
原文地址: https://www.cveoy.top/t/topic/mN0P 著作权归作者所有。请勿转载和采集!