0

我在一页上有几个表格。当我点击外部时,每个都需要隐藏

div class="login">
  <p><a title="Entrar" href="static-login.html">Entrar</a></p>
  <form action="" class="disabled" method="post" id="login">
    <p class="close"><a title="Cerrar" href="static.html">Cerrar</a></p>
    <h2>¿Es usted ya cliente?</h2>
    <p class="email">
      <label for="email">Su correo electrónico</label>
      <input id="email" name="email" type="text" placeholder="Su correo electrónico" />
    </p>
    <p class="password">
      <label for="password">Su contraseña</label>
      <input id="password" name="password" type="text" placeholder="Su contraseña" />
    </p>
    <p class="button">
      <input type="submit" value="Entrar" />
    </p>
  </form>
</div>

所以我为此得到的jquery是

$(document).ready(function() {
  $('.layer').hide();
  $('.login form').hide();
  $('.login a').click(function(){
    $('.login form').toggle();
    $('.layer').toggle();
    $(".login form input:text").first().focus();
  });
  $(".login form input").focusout(function() {
    $('.login form').hide();
    $('.layer').hide();
  });
});

但是一旦我从电子邮件转移到密码,它就会隐藏所有内容,因此 .focusout 不起作用

我试过 $('body').click(function() { 而不是 .focusout 但它破坏了其他 jquery :-/

有任何想法吗?

4

1 回答 1

0

在选择器中使用 :not

$(":not(.login form input)").click(function() {
    $('.login form').hide();
    $('.layer').hide();
});
于 2013-03-12T12:55:49.683 回答