【问题标题】:@ondblclick event in Blazor also fires 2 single click eventsBlazor 中的 @ondblclick 事件也会触发 2 个单击事件
【发布时间】:2020-12-17 08:28:27
【问题描述】:

在 Blazor WebAssembly 中考虑以下内容:

<span @onclick="Click" @ondblclick="DoubleClick">Click Me!</span>

@code {

    private void Click()
    {
        Console.WriteLine("Click");
    }

    private void DoubleClick()
    {
        Console.WriteLine("Double-click");
    }
}

如果我双击该元素,我将在控制台中看到的是:

Click
Click
Double-click

有没有办法在不触发 2 个单击事件的情况下接收双击事件?我想将这两个事件用于不同的目的,因此它们相互干扰。

非常感谢任何建议。

【问题讨论】:

    标签: asp.net-core blazor-client-side blazor-webassembly


    【解决方案1】:

    这可能是因为ondblclick 事件的工作方式。 引用 MDN:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ondblclick

    当用户双击一个元素时会引发 dblclick 事件。它在两次点击事件后触发。

    所以你看到的是它的工作方式:\

    因此,如果在这段时间内没有发生双击事件,您可能需要在一小段延迟后触发单击操作。

    【讨论】:

    • 很公平,这样做应该没什么大不了的。我希望我可以添加一些标签来为我做这件事!
    • 虽然我可以延迟实施该建议,但我不会将其描述为方便。你实施了吗?与计时器和所有?还是在 dblclick 中检查了点击寄存器?只是好奇。
    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 2019-12-16
    相关资源
    最近更新 更多