当用户点击html表单输入'text'(焦点上)然后隐藏模糊时,我正在尝试显示div。
它有效,但由于某种原因,在用户甚至点击文本输入字段之前显示div。我试图让它只在用户专注于文本字段时显示,并在他们点击它时隐藏它?
有人可以告诉我哪里出错了吗?感谢
<script>
$(".infobox-profile").hide();
$("#text").focusin(function() {
$(".infobox-profile").show();
}).focusout(function () {
$(".infobox-profile").hide();
});
</script>
<div class="infobox-profile">hello</div>
答案 0 :(得分:2)
将您的代码放入$(function() { ... }
<script>
$(function() {
$(".infobox-profile").hide();
$("#text").focusin(function() {
$(".infobox-profile").show();
}).focusout(function () {
$(".infobox-profile").hide();
});
});
</script>
您的JavaScript可能在infobox-profile
是DOM的一部分之前执行。
答案 1 :(得分:0)
就个人而言,我不会在使用JS时将其隐藏起来,您可以在{c}中将display: none;
属性添加到.infobox-profile
。就像bikeshedder说的那样。将您的代码放在$(function(){ INHERE });