c# - 在 Blazor 中移动子元素时防止 onmouseout 触发
问题描述
我有一个与此类似的问题,但涉及 Blazor。我有一个类似于弹出菜单的 div,其中包含用户可以单击以执行某些操作的子元素。当用户将鼠标移开时,我希望弹出 div 消失。我可以使用 onmouseout 事件,但问题是将鼠标移到弹出 div 中的子元素上会触发该事件。我希望 onmouseout 仅在鼠标移出父 div 时触发。到目前为止,我发现的唯一解决方案是使用 CSS 设置“pointer-events: none;” 在子元素上。但这也禁用了我想要维护的点击事件。Blazor 不支持在其他地方推荐的 onmouseleave。
那么如何在 Blazor 中的 onmouseout 事件在其子元素未触发的 div 上使用?
更新:
Cory 对在子元素上使用 @onmouseout:preventDefault 的回答确实有效。但是 mouseout 事件并没有可靠地触发。我通过在显示弹出窗口时在 div 容器上设置类成功地找到了解决方法,并使用 CSS onhover 来隐藏和显示它
解决方案
这可能不对,但您不能在子 HTML 元素上使用@onmouseout:preventDefault
or吗?@onmouseout:stopPropagation
我当然没有测试过,但是所有 Blazor 事件都存在这些:https ://docs.microsoft.com/en-us/aspnet/core/blazor/components/event-handling?view=aspnetcore-5.0#prevent-默认操作
推荐阅读
- android - 如何将结果从 JavascriptInterface 传输到 OnCreate?
- firebase - Node 8 Firebase 函数无法从 CloudBuild 部署
- java - Totally disabling java net ssl debug logging
- css - 固定宽度高度会导致不必要的滚动 - Chrome 扩展
- java - 使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错
- firebase - 使用 FCM 和 Twilio 发送短信
- c++ - Direct2D 的几何形状操作
- javascript - 如何从 jquery 获取选项值
- jquery - 引导弹出窗口以在 jQuery 数据表中动态创建锚点
- android - 为什么 applinks 不适用于所有浏览器?