0

在下面的代码中,jquery show 和 jQuery hide 功能不起作用.. 虽然这是基本的东西,但在过去的 1 小时内我无法通过这个.. 我无法隐藏和显示 div ......请帮助

<!DOCTYPE html>
<html>
<head>
    <title>sample</title>


    <script type="text/javascript" src="jquery-1.9.1.min.js"></script>

    <script type="text/javascript">

             $(document).ready(function(){



            var fieldExample = $('#myTags');


            fieldExample.focus(function() {
                var div = $('div#showDiv').show();
                $(document).bind('focusin#showDiv click#showDiv',function(e) {
                    if ($(e.target).closest('#showDiv, #myTags').length) return;
                    $(document).unbind('#showDiv');
                    div.fadeOut('medium');
                });
            });
        $('div#showDiv').hide();

             })

    </script>
</head>
<body>
<input id="myTags"/>

  <div id="showDiv" style="height:200px;width:200px;background-color:red;"></div>
</body>
</html>
4

2 回答 2

2

尝试

$(document).ready(function () {
    var $field = $('#myTags'),
        $div = $('.showDiv').hide();

    $field.focus(function () {
        $div.show();
    });
    $(document).on('focusin click', function (e) {
        if ($(e.target).closest('.showDiv, #myTags').length) return;
        $div.fadeOut('medium');
    });

})

演示:小提琴

于 2013-10-15T10:52:26.040 回答
0

使用以下代码

<script type="text/javascript">

         $(document).ready(function(){



        var fieldExample = $('#myTags');


        fieldExample.focus(function() {
            var div = $('div#showDiv');
             div.show(); //show div
            $(document).on('focusin,click','#showDiv',function(e) {
                if ($(this).closest(' #myTags').length) return;

                $('#showDiv').off('focusin,click');
                div.fadeOut('medium');
            });
        });
    $('div#showDiv').hide();

         })

</script>

参考_

于 2013-10-15T10:53:47.400 回答