JavaScript失去焦点

JavaScript失去焦点,javascript,Javascript,我有一个div,它使用onclick()JS事件处理程序设置为display:inline。当我单击页面上除现在可见的div之外的任何其他位置时,如何使div返回到显示:none 我在谷歌上搜索了blur,并将焦点设置为另一个元素,但我不知道如何实际操作。你可以创建一个覆盖整个窗口区域的绝对div,方法是给它100%的宽度和高度,然后再给它一次单击以显示:无你的div。你的div的z索引应该大于绝对值div如果您想使用,它很容易: 使用all*selector时,上述操作会变得相当缓慢,因此我建

我有一个
div
,它使用
onclick()
JS事件处理程序设置为
display:inline
。当我单击页面上除现在可见的div之外的任何其他位置时,如何使
div
返回到
显示:none


我在谷歌上搜索了
blur
,并将
焦点设置为另一个元素,但我不知道如何实际操作。

你可以创建一个覆盖整个窗口区域的绝对div,方法是给它100%的宽度和高度,然后再给它一次单击以显示:无你的div。你的div的z索引应该大于绝对值div

如果您想使用,它很容易:

使用all*selector时,上述操作会变得相当缓慢,因此我建议您使用

示例:

$('#div_id').bind('clickoutside', function(){
  $(this).css('display', 'none');
});

可以找到原始js示例。

使用此示例的html是什么样子的?每当点击页面上的任何位置时,事件都会触发一些文本。我真的不想使用jQuery,但我没有指定这样你就赢了。@Roboju:那么我希望你能很快在vanilla javascript中找到解决方案:)
$('#div_id').bind('clickoutside', function(){
  $(this).css('display', 'none');
});
document.onclick = function(e) {
  if (!e) var e = window.event;
  if (e.target.id == 'the_id_of_your_div') {
    // Do something
  } else {
    // Do something else
  }
}