防止在Svelte中双击onclick

崇高的

我曾经onclick触发过我的函数,但我想防止在执行双击动作时调用该函数。

如何在Svelte上实现它?斯维尔特(Svelte)是否有仅注册一次但不能注册两次的特殊方式?

很感谢任何形式的帮助。

托勒

您可以通过以下方式实现此行为:例如,将boolean设置为何true时调用单击处理程序,然后使用超时将其重置为false一段时间后的状态。如果此布尔值true位于新的单击上,则将其忽略。

范例(REPL

<script>
    let hasBeenClicked = false;
    
    function handleClick() {
        if (hasBeenClicked) return;
        
        hasBeenClicked = true;
        setTimeout(() => {
            hasBeenClicked = false;
        }, 200);
        
        console.log('click');
    }
</script>

<button on:click={handleClick}>Click me</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章