JavaScript模拟实现鼠标长按事件
JavaScript中没有原生鼠标长按事件,但可以通过以下方法模拟实现:
-
使用setTimeout()函数设置一个定时器,在一定时间后触发长按事件。
-
监听鼠标按下事件和鼠标松开事件,当鼠标按下时启动定时器,在鼠标松开时清除定时器。
以下是示例代码:
let timer = null;
// 监听鼠标按下事件
document.addEventListener('mousedown', function(event) {
// 按下鼠标左键
if (event.button === 0) {
// 设置定时器,在500毫秒后触发长按事件
timer = setTimeout(function() {
console.log('鼠标长按事件触发');
}, 500);
}
});
// 监听鼠标松开事件
document.addEventListener('mouseup', function(event) {
// 松开鼠标左键
if (event.button === 0) {
// 清除定时器
clearTimeout(timer);
}
});
注意:以上代码仅适用于鼠标左键长按事件,如果需要监听右键长按事件,需要将鼠标按下事件和鼠标松开事件的event.button改为2。
原文地址: https://www.cveoy.top/t/topic/mN0D 著作权归作者所有。请勿转载和采集!