我在DIV中有一个下拉菜单.
当用户点击其他地方时,我希望隐藏下拉列表.
$('div').blur(function() { $(this).hide(); }
Run Code Online (Sandbox Code Playgroud)
不管用.
我知道.blur只能用,<a>但在这种情况下,什么是最简单的解决方案?
我有一个jQuery函数,当单击一个元素时,隐藏的div显示.
$('.openHide').click(function(){
$(this).next('.hiddenContent').toggle();
});
Run Code Online (Sandbox Code Playgroud)
我需要修改它,我可以关闭这个div,如果我不仅仅点击第一个元素.可能在模糊,但我不知道如何表明元素......
$('.hiddenContent').blur(function() {
$('.hiddenContent').parent().children('.hiddenContent').hide();
});
Run Code Online (Sandbox Code Playgroud)
这是我的HTML:
<span class="openHide">text here</span>
<div style="display:none" class="hiddenContent">
hidden content here
</div>
Run Code Online (Sandbox Code Playgroud) 其次是HTML DOM:
<div class="opt">
Options
<div class="panel">
<h3>i am in panel!!</h3>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我点击.opt它会显示.panel内容,但然后我需要触发另一个事件来隐藏.panel单击.opt元素外部时.
jQuery的:
$('.opt').click(function(){
var $this = $(this);
$this.find('.panel').fadeIn();
$this.blur(function(){
$this.find('.panel').fadeOut();
alert('i am from blur');
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个演示JsFiddle
但是这个blur()方法没有执行,我在技术上做错了什么?