我需要在我的 Blazor 服务器端应用程序中捕获 window
或 body
的 onscroll
事件。现在,我使用脚本文件实现了这一点,我在其中捕获事件并在其中执行我的逻辑。
对于窗口
:
window.onscroll = function() {myFunction()};
function myFunction() {
// ... my logics here
}
如何捕获body
标签的onscroll
事件?在 Blazor 服务器端 body
位于 _Host.cshtml
文件中,我无法在其中使用 @onscroll
。
对于正文
:
<body onscroll="myFunction()">
上面的方法可行,但我在使用 blazor 时对这个实现不满意。
请协助说明如何仅使用 C# 实现此功能。
最佳答案
Index.html
是所有 Blazor 应用程序的入口点。这是一个标准的 HTML 文档。这将呈现为具有滚动事件的 document
。 您必须使用 JS Interop 调用 JS 代码来滚动或通知您的滚动事件代码。
这是一个Nuget package可以为您处理。使用 demo app 查看实际效果.
注意:这是使用 .NET 5,因此不适用于面向 .NET Core 3.1 的 Blazor 应用。
关于c# - 如何在 Blazor 服务器端处理窗口或主体滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59541399/