首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor -阻止同级事件触发( onclick > onfocusout )

Blazor -阻止同级事件触发( onclick > onfocusout )
EN

Stack Overflow用户
提问于 2021-11-22 17:46:03
回答 1查看 60关注 0票数 0

我正在Blazor中创建自己的自动完成输入。(类似于下面的内容)

代码语言:javascript
复制
function FocusOut()
{
  document.getElementById("list-item-one").innerHTML = "Focus out";
}

function Click()
{
  document.getElementById("list-item-one").innerHTML = "Click";
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="search" onfocusout="FocusOut()" />
<ul class="dropdown">
  <li id="list-item-one" onclick="Click()">List Item One</li>
</ul>

当我单击列表项时,将触发onfocusout事件,而不是onclick事件。有没有办法“推”onclick事件?

这不是父子关系,因此"stopPropagation“无效。我也知道有一个datalist标签,但我没有使用它,因为它在不同的浏览器中的外观、感觉和行为都不同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-22 19:47:39

问题是事件的顺序是OnMouseDownOnFocusOutOnClick

因此,您的dropdown在OnClick事件之前关闭,因此不会注册单击。

一个可行的解决方案是用OnMouseDown替换OnClick

基于@DuncanLuk的this回答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70070199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档