单击Jquery并隐藏div

时间:2010-04-26 03:37:59

标签: jquery html click hide

我对JQuery有点问题。

好吧,我有一个,当用户点击不像Facebook中的“通知”行为的区域时,我想要隐藏此div。

我找到的解决方案是使用jQuery.live()方法,但我认为有更好的方法。

谢谢。

3 个答案:

答案 0 :(得分:4)

假设:

<div class="notification">You have 3 new messages</div>

使用:

$(document).click(function(evt) {
  if ($(this).closest("div.notification").length == 0) {
    $("div.notification").fadeOut();
  }
});

基本上这会听取所有点击。如果在通知div中没有​​收到一个,则将它们淡出。

答案 1 :(得分:0)

感谢您的回答,但是:

$(this).closest("div.notification").length == 0) 

总是给我0(即使我点击div),所以div总是隐藏。

这是我的代码:

$(document).click(function(evt) {
        if ($(this).closest("div#show_notif").length==0)
            $("div#show_notif").fadeOut();
});

和html:

<div id="click_show_notif" onclick="$('div#show_notif').show();"><img src="http://'+STATIC_SERVER+'/images/notif.png" /><div id="show_notif"></div>

有些东西我忘记了?

答案 2 :(得分:0)

试试这个:

$("#click_show_notif").live('click',function(e) {
    $("#show_notif").show();
    return false;
});

$('body').live('click',function(e) {
    if ($(this).closest("div#show_notif").length==0) {
        $("div#show_notif").hide();
    }
});