Как размыть элемент отделения?

Я не хочу некоторую другую систему, владеющую моими идентификаторами для моих приложений.

я получаю понятие более простых для пользователя и большего количества универсальной формы.

Однако UserID так ключ к опыту для посетителей сайта, Вы не хотите помещать все свои яйца в одну корзину (Microsoft Passport, OpenID, и т.д.). Если вещи изменяются, Вы испортили все свои учетные записи пользователей.

18
задан 3 revs, 3 users 94% 4 November 2015 в 19:37
поделиться

3 ответа

Я думаю, проблема в том, что div не запускает событие onfocusout . Вам нужно будет фиксировать события щелчка на теле, а затем определять, была ли цель тогда div меню. Если это не так, значит, пользователь щелкнул в другом месте, и div необходимо скрыть.

<head>
  <script>
  $(document).ready(function(){
    $("body").click(function(e) {
      if(e.target.id !== 'menu'){
        $("#menu").hide();
      }      
    });
  });
  </script>
  <style>#menu { display: none; }</style>
</head>

<body>
  <div id="menu_button" onclick="$('#menu').show();">Menu....</div>
  <div id="menu"> <!-- Menu options here --> </div>

  <p>Other stuff</p>
</body>
16
ответ дан 30 November 2019 в 07:08
поделиться

.click будет нормально работать внутри тега div. Просто убедитесь, что вы не находитесь поверх элемента select.

$('div').click(function(e) {
    var $target = $(e.target);
    if (!$target.is("select")) { $(this).hide() };
});
-3
ответ дан 30 November 2019 в 07:08
поделиться
$("body").click(function (evt) {
     var target = evt.target;
     if(target.id !== 'menuContainer'){
            $(".menu").hide();
    }                
});

присвойте div идентификатор, например menuContainer. тогда вы можете проверить target.id вместо target.tagName, чтобы убедиться, что это конкретный div.

5
ответ дан 30 November 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: