【问题标题】:How can i exclude some element from focusing out?我怎样才能排除一些元素来聚焦?
【发布时间】:2021-08-04 18:53:04
【问题描述】:

我有意见。当我专注于该输入时,将触发聚焦事件。 但在那个输入下我有

<div id="myDiv">
  <ul>
     <li>1</li>
  </ul>
</div>

我希望在输入焦点移出时触发焦点移出事件 - 但当它被点击时 - 我不希望焦点移出到 ba 的输入。

我在这里尝试过:

How to exclude Id from focusout

$('#id').focusout (function (e) {

    if (e.relatedTarget && e.relatedTarget.id === 'dontFocusOut') {
        return;
    }
    //do your thing

});

但它对我不起作用 - 在event.relatedTarget 中我总是得到空值。

【问题讨论】:

  • 这是一个奇怪的要求。如果用户单击myDiv 并且然后 10 秒后单击另一个元素会怎样...您不会触发focusout 事件。请提供包含 input 元素的 sn-p,最好是可运行的 sn-p(使用工具栏),以便我们重现您的问题。
  • 您能否解释一下为什么您不希望将焦点移出 - 也许有更好的方法来实现您想要的结果,而不是移除焦点
  • @Pete 我正在构建自动完成组件。所以点击下拉菜单 - 下拉选项被打开。用户可以选择下面的一些选项。如果他选择某个选项。然后 focusOut 会自动触发,我无法在我选择的自动完成选项中收听其他更改

标签: javascript


【解决方案1】:

你可以这样做:

function my_fun(){
  alert('Focus Out');
}
&lt;input type="text" placeHolder="After focusout it will work" onfocusout="my_fun();" /&gt;

【讨论】:

  • 这里没有我的问题的答案
猜你喜欢
  • 2014-04-26
  • 2023-02-13
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 2016-04-07
  • 2020-09-15
  • 2021-09-17
  • 2023-02-19
相关资源
最近更新 更多