当我单击浏览器窗口中的任何位置时,如何关闭由 toggle() 函数打开的元素。例如此站点上的 StackExchange 链接。当我单击此链接时,会出现 div,但如果我单击窗口中的任何位置,它就会消失。
问问题
58 次
4 回答
1
你可以这样做:
$(function(){
$('.yourelem, .targetDiv').click(function(ev){
$('.targetDiv').slideDown('fast');
ev.stopPropagation();
});
$(document).click(function(){
$('.targetDiv').slideUp('fast');
});
});
查看jsbin中的动作
于 2013-02-22T10:26:54.923 回答
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();
});
于 2013-02-22T10:26:59.790 回答
0
看看jquery的.blur函数http://api.jquery.com/blur/
一个简单的例子:
$("#myelement").blur(function(){
$(this).hide();
//or
$("#targetelement").hide();
});
于 2013-02-22T10:29:00.717 回答
0
制作变量 sel true
,如果我们点击div
.
if(sel)
$(".stackExchange").slideDown(800);
else
$(".stackExchange").slideUp(800);
于 2013-02-22T10:31:00.587 回答