模糊事件的jQuery问题

时间:2009-12-03 23:23:05

标签: jquery events dom

这是我的问题:

我有一个div元素,当它被点击时,会出现另一个div。现在我不知道如何在我点击页面的地方制作它,这个div被删除了。我的意思是,我知道如何删除它,但我应该考虑做哪种事件!?我无法使用焦点/模糊可以我。我的意思是我尝试了它不起作用所以我猜不是。可能它很简单,但我想我不会对此感到高兴......

Cheeers

2 个答案:

答案 0 :(得分:5)

将它添加到DOM时,您还可以创建一次性单击事件处理程序并将其附加到文档。像

这样的东西
// <div> has just been added to the DOM
$(document).one("click", function() { $('#theDiv').remove(); }); 

这是 Working Demo 。将 / edit 添加到网址以查看代码

答案 1 :(得分:1)

我看到了一个different question today,但它包含了一个类似的机制。

基本上你想要将一个点击处理程序附加到document,但只有当点击不是来自某些对象时才会触发它:

使用此HTML:

<div id="menu">Click Me</div>
<div id="other-popup"> Wow, I have been shown!</div>

使用此(或类似的东西):

$(document).click(function(e){
   var $target = $(e.target);
   // For all clicks except those in the menu or the popup, hide the popup
   if(!$target.closest("#menu").length && !$target.closest("#other-popup").length ){
      $("#other-popup").hide();
   }
});

closest()查看当前节点的祖先节点以进行匹配。