为同一函数点击事件设置不同的延迟可以通过以下几种方式实现:
示例代码:
function handleClick(delay) {
setTimeout(function() {
// 执行点击事件的逻辑
}, delay);
}
// 绑定点击事件,并设置不同的延迟时间
document.getElementById('button1').addEventListener('click', function() {
handleClick(1000); // 延迟1秒执行
});
document.getElementById('button2').addEventListener('click', function() {
handleClick(2000); // 延迟2秒执行
});
示例代码:
function createDelayedHandler(delay) {
return function() {
setTimeout(function() {
// 执行点击事件的逻辑
}, delay);
};
}
// 绑定点击事件,并设置不同的延迟时间
document.getElementById('button1').addEventListener('click', createDelayedHandler(1000)); // 延迟1秒执行
document.getElementById('button2').addEventListener('click', createDelayedHandler(2000)); // 延迟2秒执行
示例代码:
function debounce(func, delay) {
let timer;
return function() {
clearTimeout(timer);
timer = setTimeout(func, delay);
};
}
// 点击事件处理函数
function handleClick() {
// 执行点击事件的逻辑
}
// 绑定点击事件,并设置不同的延迟时间
document.getElementById('button1').addEventListener('click', debounce(handleClick, 1000)); // 延迟1秒执行
document.getElementById('button2').addEventListener('click', debounce(handleClick, 2000)); // 延迟2秒执行
以上是三种常见的实现方式,可以根据具体需求选择适合的方式来为同一函数点击事件设置不同的延迟。
领取专属 10元无门槛券
手把手带您无忧上云