在元素 A 上显示 div B 焦点并在元素 B 上隐藏元素 B 模糊



很抱歉问了个简单的问题,但我真的没有找到一个简单的&用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吗?谢谢

嗯。。正如你所说,当我们关注A时,身体的点击事件被称为。。。避免这种情况的方法是检查元素是否为.B或其desendent,然后不要隐藏()。。小提琴在这里。。

$(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();
     }
  });
});

最新更新