HandleClick似乎只能处理左键单击,但是看起来我可以使用onmouseup
和MouseEventArgs.Button
属性来检测右键单击。问题是出现了典型的浏览器提供的上下文菜单。有办法防止这种情况吗?我在Blazor中没有看到诸如preventDefault()之类的东西。
更新:显然我们可以进行@onmouseup:preventDefault
,但上下文菜单仍然显示
好,我知道了:
<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。