Javascript 如何从focusout中排除Id

Javascript 如何从focusout中排除Id,javascript,jquery,html,focusout,focusin,Javascript,Jquery,Html,Focusout,Focusin,在Jquery中,当设置focusout时,单击焦点区域之外的任何位置时,只调用focusout 如何从激活focusout函数中排除某些ID e、 g在这里 您有一个输入文本字段id=ath,它在焦点上隐藏了一些div,并在不聚焦时显示该div,因此,现在当您单击输入字段之外的任何位置时,它显然会显示div 问题是,如何设置一些IDA,或者在它旁边设置一个select fieldId=B,而不是启动focusout函数。希望它有意义 您可以在单击div时解除focusout的绑定。这可能会返回

在Jquery中,当设置focusout时,单击焦点区域之外的任何位置时,只调用focusout

如何从激活focusout函数中排除某些ID

e、 g在这里

您有一个输入文本字段id=ath,它在焦点上隐藏了一些div,并在不聚焦时显示该div,因此,现在当您单击输入字段之外的任何位置时,它显然会显示div

问题是,如何设置一些IDA,或者在它旁边设置一个select fieldId=B,而不是启动focusout函数。希望它有意义

您可以在单击div时解除focusout的绑定。这可能会返回一些预期的结果,在代码中的某个时候,您可能需要重新绑定它。有关示例,请参见此处:

HTML:

<input />
<div class="hidden">Hidden div</div>
<div class="clickable">Click me</div>
尝试使用relatedTarget事件属性:

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

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

});

您是指您正在单击的新ID,还是您将要离开的ID?您可以添加一些代码吗?将要单击的任何不是焦点事件发起人的ID。我不认为代码会启发你@Tim,相反,它会增加更多的迷雾,让我们用外行的术语,英语。好的,简单明了。谢谢。哈哈,这不仅仅是解除了div的绑定,而是完全终止了该函数,从未绑定的Id,你不能点击其他地方,让focusout继续工作。对,正如我提到的,你必须在代码中的某个点重新绑定。在不了解应用程序的情况下,很难说什么时候重新绑定,但这会让您在解决方案上有一个良好的开端;希望能完成你想要的。实际上,你甚至不需要变量。这些都是我尝试的另一个解决方案的遗留问题。我也想试试这个,因为unbind会终止函数,在单击unbind div之后,focusout就消失了,但是这个相关的目标没有运行。你说的“没有运行”是什么意思?请注意,如果相关目标不是文档的一部分,则event.relatedTarget可能为null。在任何其他情况下,它都应该是接收焦点的元素。
.clickable { background:blue; }
.hidden {
    display:none;
}
$('#id').focusout (function (e) {

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

});