在元素A焦点&上显示div B.隐藏元素B上的元素B模糊

时间:2013-08-26 17:01:05

标签: jquery focus blur

对不起简单的问题,但我真的没有找到一个简单的&&用jquery为此编写的函数示例..

我的HTML代码:

<a class="A"></a>
<div class="B">
    <!-- a form here -->
</div>

我需要一段jquery代码为我这样做: “在元素A焦点上显示div B,在元素B上隐藏元素B模糊” 通过“元素B模糊”我的意思是关注身体的任何其他元素,除了B

我为它写了些东西,但它不起作用:

$(function () {
    $('.A').on('focus', function () {
        $('.B').show();
    }, function () {
        $('body').not('.B').on('click', function () {
            $('.B').hide();
        });
    });
});

任何身体都可以帮助我这个PLZ?谢谢..

1 个答案:

答案 0 :(得分:1)

好吧..正如你所说的,当我们专注于A时,身体的click事件被调用...避免这种情况的方法是检查元素是.B还是它的desendent,然后不要hide().. fiddle here ..

$(function () {
   $('.A').on('click', function () {
      $('.B').show();
   });

  $(document).on('click', function (e) {
     if (!$('.A,.B').is(e.target) && $('.A,.B').has(e.target).length === 0) {
          $('.B').hide();
     }
  });

});