Blazor 中是否存在在识别内部链接单击时调用 preventDefault 的"internal link click"处理逻辑?



>假设我的组件中有这个元素:

<a href="#" class="btn btn-primary" onclick="@IncrementCount">Click me</a>

单击链接时,它不会增加计数器,而是跳转到"#"网址,导航到主页(Blazor 默认行为(。但是,我的预期行为是计数器将递增。

注意:我不问如何阻止默认操作;我宁愿想知道"内部链接点击"处理逻辑是否确实存在,正如史蒂夫桑德森在这里所说的那样:https://github.com/aspnet/Blazor/pull/937如果是这样,您能否提供它的位置。

据我所知,在 Blazor 中,唯一被阻止的默认操作是提交表单(传统帖子(,但我可能被证明是错误的......

Blazor 会调用定位标记单击事件上的阻止默认值,但仅当位置位于基标记 URI 空间内时

可以在此处查看特定的代码段。

在您提供的代码示例中,我建议您使用按钮,这样您就不必担心导航事件。锚元素应仅用于导航,而不是专门执行常规操作,因为它可以避免您发现的事件问题。

希望这有帮助。

最新更新