【发布时间】:2012-11-25 07:31:22
【问题描述】:
当焦点(点击)在它之外时,我试图隐藏一个 div,但是其中有一些元素,而不是对所有这些执行 e.target.id 有没有办法包含所有元素?明白我的意思了吗?
编辑:当newsletter之外的任何人click时,我试图hide#contain_name
jsfiddle:demo
<div id="newsletter">
<form action="#" class="form-post">
<div class="clearfix">
<input type="text" id="email" name="email" placeholder="email" />
<button id="fake">Send</button>
</div>
<div id="contain_name" class="clearfix">
<input type="text" id="person_name" placeholder="full name" />
<button id="real_button">Send</button>
</div>
</form>
</div>
$('#email').focus(function() {
$('#fake').fadeOut();
$('#contain_name').slideDown();
});
$(document).on('click', function(){
//do something here
});
【问题讨论】:
-
你指的是哪个DIV?
-
@FrançoisWahl 我认为这篇文章为任何试图学习这一点的人提供了一些有价值的答案,而且有点不同。
-
@Dejan.S:这是一个重复的问题,答案也几乎相同。一种是使用
$(...)[0]检查,另一种是使用$(...).length。这是相同的区别,它们都在执行相关代码段之前检查 jQuery 选择器是否匹配。任何关于 jQuery 如何工作的额外知识都会增加答案的价值,但恐怕仍然会使问题重复。 -
@FrançoisWahl 是否被标记为重复并不重要,是否有人可以从中学习。我明白你的意思。
标签: javascript jquery html