Blazor 中的@ondblclick 事件也会触发 2 个单击事件

@ondblclick event in Blazor also fires 2 single click events

在 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

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

非常感谢任何建议。

这可能与 ondblclick 事件的运作方式有关。 引用自 MDN:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ondblclick

The dblclick event is raised when the user double clicks an element. It fires after two click events.

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

因此,如果在这段时间内没有发生 double-click 事件,您可能必须在一小段延迟后触发 single-click 操作。