在使用jQuery时隐藏div

时间:2010-11-08 05:18:37

标签: jquery

我有一个项目列表,每个项目都需要显示一个div。点击一个,它会显示一个带有推文的div。我已经能够用jQuery成功地显示div。不幸的是,当用户点击所述div之外时,我不知道如何隐藏div。我试过摆弄.not()选择器,但我不能这样做。这是我的代码:

$("#twitter-wid").click(function() {
$(".recent_tweets").fadeIn(400);
});

在这种情况下,#twitter-wid是'li'项,而.recent_tweets是我需要显示的div元素。我想要它,当用户点击.recent_tweets的任何地方时它应该隐藏。到目前为止我试图添加:

$.not('.recent_tweets').click(function() {
$('.recent_tweets').hide();
});

但无济于事。哦,我是jQuery的新手。谢谢!

编辑:我想知道Twitter如何为他们的小下拉菜单做到这一点。点击你的用户名,它会删除一堆选项。点击任意位置,它会向上滑动。

2 个答案:

答案 0 :(得分:2)

您可能想要使用outside event jquery plugin

$(".recent_tweets").bind( "clickoutside", function(event){
  $(this).hide();
});

答案 1 :(得分:1)

 $(document).click(function() { //Click anywhere
  $('.recent_tweets').hide();
 });

//为内部点击添加

$('.recent_tweets').click(function(e){
     e.stopPropagation();
 });