2012-12-14 113 views
-2

我在点击外部时很难隐藏div;身体。单击页面主体时隐藏div

jQuery(document).ready(function($) { 
$('.list_container').hide().before('<div class="listbtn"> </div>'); 
$('.listbtn').click(function() { 
    $('.list_container').animate({width: 'toggle'}); 
    return false; 
}); 
}); 

我在寻找隐藏.list_container单击正文时,最好它将动画切换为隐藏。

+1

最新问题?你有错误吗?它在做什么呢? – thescientist

+1

文档中单击事件的处理程序在哪里? –

回答

1

您必须在document上绑定和事件,并防止容器本身的点击传播。

$(document).on("click", function() { 
    $(".list_container").fadeOut(); 
}); 

$(document).on("click", ".list_container", function(event) { 
    event.stopPropagation(); 
}); 

看看这个Fiddle

+1

'delegate()'在jQuery 1.7及以上版本中已被弃用,而被'on()'方法所青睐。 – jmoerdyk

+0

@jmoerdyk我没有意识到这一点,感谢您的提示。 – rdiazv

0

你需要一个onclick适用于隐藏div和一个onclick到停止繁殖或事件的冒泡到父div中的文件:

$(document).click(function() { 
    $('.list_container').hide(); 
}); 

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