我有一个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) 基本上我正在尝试实现一个登录,例如新推特的登录.当您单击登录时,会弹出包含字段的div.现在,当我点击div之外的任何地方(div失去焦点)时,div应该消失.
我已经尝试过如何模糊div元素中提到的技术?
代码如下
$("body").click(function(evt) {
if (evt.target.id !== 'loginDialog') {
$("#loginDialog").hide();
}
});
Run Code Online (Sandbox Code Playgroud)
麻烦就是target.id不会等于loginDialog,即使我点击某个地方有一个loginDialog在一个子div中说.
所以上面是一个很好的方向,但解决方案是不完整的.
实现这一目标的最佳方法是什么?