2013-03-12 24 views
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」 :T工作

我曾嘗試$( '主體')點擊(函數(){代替.focusout但它打破了其他的jQuery: -/

任何想法

+0

你是隱藏焦點形式出來的每個輸入..的情況下這是錯誤的。刪除focusout綁定,它會正常工作 – 2013-03-12 12:42:14

回答

0

用途:不選擇

$(":not(.login form input)").click(function() { 
    $('.login form').hide(); 
    $('.layer').hide(); 
});