使focusout事件忽略一些元素

在下面的代码中,如果单击则会出现 “红色块”。 如果你集中注意力,那么“红色块”就会消失

如果“红色块”或是下一个重点元素,我如何使focusout不会激发?

演示

JavaScript的

 $('#one').focus(function () { $('#divRemove').show(); }); $('#one').focusout(function () { $('#divRemove').hide(); }); $('#divRemove').click(function(){ alert($(this).text()); }); 

HTML

 _______  

remove on focus out

您可以将重点放在#one和#two上

 $('#one,#two').focus(function () { $('#divRemove').show(); }).focusout(function () { $('#divRemove').hide(); }); 

DEMO

更新

除非你用tabindex="0"给它一个这样的自定义索引,否则你无法真正关注div

 

然后在jQuery中执行此操作

 $('#one,#two,#divRemove').focus(function () { $('#divRemove').show(); }).focusout(function () { $('#divRemove').hide(); }); 

DEMO