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

Gre*_*reg 2 asp.net-core blazor-client-side blazor-webassembly

在 Blazor WebAssembly 中考虑以下事项:

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

@code {

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

    private void DoubleClick()
    {
        Console.WriteLine("Double-click");
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Click
Click
Double-click
Run Code Online (Sandbox Code Playgroud)

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

任何建议都非常感激。

juu*_*nas 6

这可能是因为该ondblclick活动的运作方式。引用自 MDN:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ondblclick

当用户双击某个元素时,将引发 dblclick 事件。它在两次单击事件后触发。

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

因此,如果在这段时间内没有发生双击事件,您可能必须在短暂的延迟后触发单击操作。