jquery需要替代focusout()

给定样本标记
<div>
    <input />
    <input />
    <input />
</div>

如何通过jQuery来确定div已经失去焦点?

我可以使用focusout(),但这不是我需要的.通过关注,它将被触发为输入到输入的一个选项卡,因为它实际上是通过事件冒泡来检测输入正在失去焦点.

另一种说明要求的方法:我需要知道焦点何时移动了外部的div.

以前我问过类似的问题:

jquery focusin() and preventing bubbling

但是这与一个弹出式UI相关联,可以通过在其后面插入一个空白DIV并将点击/焦点事件作为触发器来实现,但这对于这种情况将不起作用.

一个想法是在调用focusout时测试focusin:

$(".myobject").focusout(function(element) {
    if(!($(this).focusin())){
        console.log('doYourThing ' + $(this));
    }
});

唉,这不行(我猜这是因为它在焦点事件中评估焦点,因此还没有检测到焦点.

任何聪明的解决这个问题?我可能会错过一个本来的jQuery事件,正是我正在寻找的?

更新:

其实简化的问题:

我需要等价于$(‘div’).blur(),但实际上可以在div上工作(因为模糊不能从div触发)

解决方法

那么,将“焦点”处理程序绑定到所有内容中可能会有什么工作,而且你知道什么时候不在< div>当您在其他地方获得“焦点”活动时.
$('body').live('focus',(function() {
  var inDiv = false;
  return function(e) {
    if ($(this).closest('#theDiv').length)
      inDiv = true;
    else {
      if (inDiv)
        alert("just lost focus!");
      inDiv = false;
    }
  };
 });

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...