通过单击其他任何位置隐藏显示/切换div。

时间:2013-04-07 21:48:31

标签: jquery toggle

我能够创建一个简单的show / hide jQuery函数,如下面的代码所示......

我试图在显示div时使用它,用户不必单击按钮使其再次隐藏。因此,当他们点击页面上的其他位置或者向下滚动时,它会消失....

我尝试重复这个相同的功能,但用身体取代#hideshow,但这搞砸了一切。

我能帮帮忙吗?

<a type='button' id='hideshow' value='hide/show' ><li class="glob">About</li></a>

jQuery(document).ready(function(){
jQuery('#hideshow').live('click', function(event) {        
     jQuery('#about_box').slideToggle('show');
});
});

3 个答案:

答案 0 :(得分:1)

首先,.live()已过时,已在jQuery 1.9中删除。您应该使用.on()代替。其次,如果你在bodydocument之类的东西上放置一个点击处理程序,你需要在你不想触发它的元素上放置一个点击处理程序并让它调用{{3 }}

答案 1 :(得分:0)

尝试使用.blur()事件。

jQuery('#hideshow').blur(function() {
  jQuery('#about_box').slideUp();
});

答案 2 :(得分:0)

尝试http://jsfiddle.net/X5xBs/

$(document).ready(function(){
$('#hideshow').on('click', function(event) {        
    $('#about_box').slideToggle('show');
});
    $('#hideshow').mouseleave(function () {
    $('#about_box').slideToggle('hide');
});
});