关闭元素由toggle()函数打开

时间:2013-02-22 10:22:55

标签: javascript jquery

当我点击浏览器窗口中的任何位置时,如何关闭由toggle()函数打开的元素。例如,此站点上的StackExchange链接。当我点击此链接div出现时,但如果我点击窗口中的任何位置,它就会消失。

4 个答案:

答案 0 :(得分:1)

你可以这样做:

$(function(){
  $('.yourelem, .targetDiv').click(function(ev){
    $('.targetDiv').slideDown('fast');
    ev.stopPropagation();
  });

  $(document).click(function(){
    $('.targetDiv').slideUp('fast');
  });
});

See the action in jsbin

答案 1 :(得分:1)

试试这个:

HTML

<a id="show" href="#">show</a>
<div class="test" style="display: none;">
    hey
</div>

JS

$('a#show').click(function(event) {
    event.stopPropagation();
    $('.test').toggle(); 
});

$('html').click(function() {
    $('.test').hide();
});

答案 2 :(得分:0)

查看jquery http://api.jquery.com/blur/

的.blur函数

一个简单的例子:

 $("#myelement").blur(function(){
    $(this).hide(); 
    //or
    $("#targetelement").hide();
 });

答案 3 :(得分:0)

如果我们点击true

,请设置变量sel div
if(sel)
$(".stackExchange").slideDown(800);

else 
$(".stackExchange").slideUp(800);