2016-04-03 19 views
1

kullanarak herhangi bir yeri tıklattığında Giriş Yapma ve Gizle Giriş formu li etiketi içinde oturum açma formum var.Kullanıcılar jquery

HTML

<div class='container'> 
    <ul class="pull-right"> 
     <li><a href="#" class="nav-bar">A</a></li> 
     <li><a href="#" class="nav-bar">E</a></li> 
     <li><a href="#" class="lion">Login</a> 
      <div class="eagle form"> 
       <form> 
        ... 
       </form> 
      </div> 
     </li> 
    </ul> 
</div> 

Kullanıcıların login tıkladığında formu show() istiyor ve hide() kullanıcıları jquery kullanarak, başka bir yerde tıklayın formu. How to hide ul using jquery when users click elsewhere

JS giriş formu gösterir ve ben üzerinde alanlarla etkileşim istediğinizde

$(function() { 
    var sesion = $('.eagle.form'); 
    $('.lion').on('click', function (e) { 
     e.stopPropagation(); 
     sesion.toggle(); 
    }); 
    $(document).on('click', function (e) { 
     sesion.toggle(); 
    }); 
}); 

Ancak, yine gizler

:

Ben sonra bu cevabı okumak bu jquery kodu kullanabilirsiniz.

Kodu nasıl düzeltebilirim? Sanırım bir satır eksik.

Sorunu çözmeniz için herhangi bir öneri belirgindir!

+0

bu codepen eşini bakınız: http://codepen.io/pen/ – Carlton

cevap

1

Demo

HTML:

<ul> 
    <li> 
    <a href="#">test</a> 
    </li> 
    <div class="meh"> 
    <li> <a href="#" class="toggleForm">Form</a> 
     <ul class="form"> 
     <li> 
      <form> 
      <input type="text" /> 
      <input type="submit" /> 
      </form> 
     </li> 
     </ul> 
    </li> 
    </div> 
</ul> 

Js:

$(".form").hide(); 
$(".toggleForm").click(function() { 
    $(".form").toggle(); 
}); 
$(document).on("click", function(e) { 
    if ($(e.target).closest(".meh").length == 0) { 
    $(".form").hide(); 
    } 
}); 

bu aradığınız şey bu mu? Bu soru çözümü kullanarak

+0

Ben body' 'tıkladığımda O inşaat büyük, ancak yok 'nav' öğelerini tıklattığımda 'gizle'. Sağlanan örnek yararlı olduğunu düşünüyorum. – estebanpdl

İlgili konular