我有一个项目列表,每个项目都需要显示一个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如何为他们的小下拉菜单做到这一点。点击你的用户名,它会删除一堆选项。点击任意位置,它会向上滑动。
答案 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();
});