2013-06-27 111 views
0

我需要一个jQuery帮助点击来隐藏问题。jQuery点击隐藏修复

我现在拥有的一切:

我有一个文本,我可以点击,它就会打开股利。当我点击这个div隐藏了。还有什么地方,当我点击灰色的div仍然是隐藏

* 我试图*

我试图限制躲藏。如果我点击Div,它不应该隐藏。在旁边点击其他地方它会隐藏。

现场爵士小提琴演示:http://jsfiddle.net/S4hcf/

HTML

<p class="show_hide">Clcik Me</p> 

<div class="slidingDiv"></div> 

CSS

div{ 
width:200px; 
height:150px; 
background:#ccc; 

} 

p{ 
cursor:pointer; 

} 

jQuery的

// click to hide  
$('html').click(function(event){ 
    if($('.slidingDiv').is(':visible')){ 
     $('.slidingDiv').hide(); 
    } 
}); 

//Toggle 

$(".slidingDiv").hide();  

$('.show_hide').click(function(event){ 
    event.stopPropagation(); 
$(".slidingDiv").slideToggle(); 
}); 

任何帮助将不胜感激。由于

回答

4

你可以简单地防止点击DIV本身,当点击冒泡到外点击:

$(".slidingDiv").click(function(e){ 
    e.stopPropagation(); 
}); 

http://jsfiddle.net/S4hcf/4/

+0

简单的解决方案。非常感谢你 :) –

1

$(event.target).hasClass('.slidingDiv')添加到您的c ondition

$('html').click(function(event){ 
    if($(event.target).hasClass('.slidingDiv') && $('.slidingDiv').is(':visible')){ 
     $('.slidingDiv').hide(); 
    } 
}); 

DEMO:http://jsfiddle.net/S4hcf/5/

1

开始,您可以设置显示divdisplay:none

 .slidingDiv{ 
      display:none; 
       } 

,并编写下面的脚本为它toggle

$('.show_hide').click(function(event){ 
    event.stopPropagation();  
    $(".slidingDiv").slideToggle(); 
    }); 

参考这个小提琴http://jsfiddle.net/Kritika/qhXcf/