在html表单上显示/隐藏div焦点和模糊?

时间:2013-02-03 13:11:50

标签: javascript

当用户点击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>

2 个答案:

答案 0 :(得分:2)

将您的代码放入$(function() { ... }

<script>
$(function() {
    $(".infobox-profile").hide();

    $("#text").focusin(function() {
        $(".infobox-profile").show();
    }).focusout(function () {
        $(".infobox-profile").hide();
    });
});
</script>

您的JavaScript可能在infobox-profile是DOM的一部分之前执行。

工作示例

http://jsfiddle.net/bikeshedder/KxMcy/

答案 1 :(得分:0)

就个人而言,我不会在使用JS时将其隐藏起来,您可以在{c}中将display: none;属性添加到.infobox-profile。就像bikeshedder说的那样。将您的代码放在$(function(){ INHERE });