当点击类似facebook的按钮时,Javascript窗口启动

当点击类似facebook的按钮时,Javascript窗口启动,javascript,html,facebook,onblur,Javascript,Html,Facebook,Onblur,我有一个弹出窗口,显示一些内容和一个类似facebook的按钮。弹出窗口在window.onblur上关闭。但当我点击facebook按钮时,它会将其视为一个模糊事件,并关闭弹出窗口而不喜欢它。我能做什么 以下是我的facebook按钮代码,符合facebook说明(标题中也有元数据): (功能(d、s、id){ var js,fjs=d.getElementsByTagName[0]; if(d.getElementById(id))返回; js=d.createElement;js.id=

我有一个弹出窗口,显示一些内容和一个类似facebook的按钮。弹出窗口在window.onblur上关闭。但当我点击facebook按钮时,它会将其视为一个模糊事件,并关闭弹出窗口而不喜欢它。我能做什么

以下是我的facebook按钮代码,符合facebook说明(标题中也有元数据):


(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=”http://connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js,fjs);
}
(文档“脚本”、“facebook jssdk”);
以及我最初的onblur:

    <script> 
         setTimeout(setOnBlur,500);  
          function setOnBlur(){window.onblur = closeWin;}  
          function closeWin(e){window.close();}  
</script>

设置超时(设置模糊,500);
函数setOnBlur(){window.onblur=closeWin;}
函数closeWin(e){window.close();}

单击facebook div标签触发一个on blur事件,我做错了什么?或者我如何使它不会发生?

你需要检查这个-
事件。stopPropogation()


事件冒泡发生了,你需要处理它。

Facebook
like
按钮通常被包装到iframe中。聚焦另一个iframe会使当前窗口模糊。另外,有一种方法是像Facebook一样使用按钮,而不是像iframe那样使用按钮。但我不记得是怎么做到的

为了忽略某些iframe丢失的焦点(不确定,这会起作用)


facebook提供了html5和iframe的选项,上面的代码就是html5版本。我想iframe的版本肯定会达到onblur的效果。什么是onblur回调中的
arguments[0]。target
?在为onblur提供函数(closeWin)并将此代码放入其中时:函数closeWin(e){alert(arguments[0]。target);}我得到了Object domWindow,什么是
e.location.href
?很抱歉,e.location.href没有返回任何看起来的结果。它甚至不发送一个空白警报,需要在哪里处理。。。?如果我在window.close()之前调用它,则弹出窗口不会关闭。如果我在之后调用它,那么它在停止冒泡之前关闭。我没有看到太多其他地方可以“处理”它
    <script> 
         setTimeout(setOnBlur,500);  
          function setOnBlur(){window.onblur = closeWin;}  
          function closeWin(e){window.close();}  
</script>
window.onblur = function(e) {
    var t = e.target;
    if ((t.window == t) // this is a window
     && (t != window)) // but some other window
        return true;
    closeWin();
}