c# - 在不使用 JavaScript 一段时间后,如何在 Microsoft Blazor 中隐藏鼠标光标?
问题描述
这里没有太多描述。我想要的只是减少来自 Blazor 的 JavaScript 函数调用,让 Blazor 完成它的用途,“避免使用 JavaScript”。
解决方案
因此,在这里回答只是为了帮助未来寻求类似问题的人,而无需使用复杂的编码。
在 Index.razor 文件或您选择的要隐藏鼠标光标的组件中,输入以下代码。
private bool _showMouse;
private static Timer _timer = new(_timerDuration);
private static double _timerDuration = 5000; //In my case, I wanted to hide after five seconds.
protected override async Task OnInitializedAsync()
{
_timer.Start();
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
_timer.Elapsed += (sender, args) =>
{
_showMouse = false;
StateHasChanged();
};
}
}
private void OnMouseMove(MouseEventArgs e)
{
_showMouse = true;
_timer.Interval = 5000;
}
将此添加到根元素的内联样式中,您希望在指定的不活动时间后隐藏鼠标。
<div @onmousemove="OnMouseMove" style="cursor: @(_showMouse ? "unset" : "none");">
...
.
.
...
</div>
谢谢你。希望它可以帮助将来的人!
推荐阅读
- lambda-calculus - System F 中的 Zip 功能
- python - 从元组中通过两点的直线方程和输出最大值
- java - 显示可滚动的 JTable
- python - 如何使用另一个函数逼近一个函数 - NN
- python - Django 找不到任何有效的 urlpatterns
- three.js - 3ds Max -> three.js 不透明度贴图
- python - 如何在 python (Matplotlib) 中调整图形的大小
- c# - 将多个平面组合成一个“模型”,每个平面都有自己独特的纹理,并将所有纹理保留在 Unity 中
- c# - SQL将两个数字范围相互比较,寻找重叠
- php - 具有关系和条件的 laravel 范围