我如何在Blazor(客户端/ WASM)中处理右键单击事件,而不显示典型的浏览器上下文菜单?

问题描述 投票:0回答:1

HandleClick似乎只能处理左键单击,但是看起来我可以使用onmouseupMouseEventArgs.Button属性来检测右键单击。问题是出现了典型的浏览器提供的上下文菜单。有办法防止这种情况吗?我在Blazor中没有看到诸如preventDefault()之类的东西。

更新:显然我们可以进行@onmouseup:preventDefault,但上下文菜单仍然显示

contextmenu blazor right-click blazor-client-side
1个回答
0
投票

好,我知道了:

<div oncontextmenu="return false;" @onclick="HandleClick" @onmouseup="HandleMouseUp" >
    this is a div
</div>
@code {

    void HandleClick(MouseEventArgs args)
    {
        Console.WriteLine("This is a left click");
    }

    void HandleMouseUp(MouseEventArgs args)
    {
        if (args.Button == 2)
            Console.WriteLine("This is a right click");
    }
}

键是div本身的oncontextmenu="return false;" JavaScript。

© www.soinside.com 2019 - 2024. All rights reserved.