2012-08-03 12 views
6

Mam menu rozwijane do twittera startowego. Zastąpiłem wydarzenie kliknięciem zdarzeniem najeżdżania. Teraz jedynym problemem jest śledzenie www.google.com, ale tak nie jest. Próbowałem z:Lista rozwijana w Bootstrap na Twitterze: Ustaw rodzica na odnośnik:

jQuery(".nav .dropdown-toggle").click(function() { 
     return true; 
    }); 

ale bez kości.

Oto kod:

<html> 
    <head> 
    <title>text</title> 
    <link type="text/css" rel="stylesheet" href="docs/assets/css/bootstrap.css"/> 
    <link type="text/css" rel="stylesheet" href="docs/assets/css/bootstrap-responsive.css"/> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    <script type="text/javascript" src="js/bootstrap-dropdown.js"></script> 
    <script type="text/javascript"> 
     $(function(){ 
     jQuery('.dropdown-toggle').dropdown(); 
     jQuery('ul.nav li.dropdown').hover(
     function() {jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn();}, 
     function() {jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut();} 
    ); 

     jQuery(".nav .dropdown-toggle").click(function() { 
      return true; 
     }); 
     }); 
    </script> 

    </head> 
    <body> 
    <ul class="nav nav-pills"> 
     <li class="dropdown"> 
     <a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="http://www.google.com"> 
      Dropdown 
      <b class="caret"></b> 
     </a> 
     <ul class="dropdown-menu"> 
      <li><a href="#">text</a></li> 
      <li><a href="#">text</a></li> 
     </ul> 
     </li> 
    </ul> 

    </body> 
</html> 

http://jsfiddle.net/rgdwM/

Odpowiedz

2

Niezupełnie zbyt pewny tego, co staramy się osiągnąć tutaj.

Ale to spowodowałoby, że .click() przeniesie Cię do google.

$(".nav .dropdown-toggle").click(function() { 
    window.location = "http://www.google.com"; 
}); 

Jak, dlaczego zdarzenie <a> kliknięcie jest spożywane nie jestem tego pewien.

+0

No nie bardzo, jak to, co muszę używać dinamically wartości, ale zorientowali się jakoś na podstawie Twojej sugestii. Dzięki – Faraderegele

+1

Zakładam, że po prostu ustaw 'window.location = $ (" # element "). Href()' lub tak. Przynajmniej to działa! – Sphvn

+1

Wystarczy 'window.location = this.href' jest wystarczające. –

16

Możesz to zrobić bez JavaScript, zmieniając trochę znacznik i dodając klasę CSS.

Zmiana znaczników HTML (** uwaganiepełnosprawnych dodaje obok rozwijanej-przełącznik): **

<a class="dropdown-toggle disabled" data-toggle="dropdown" data-target="#" href="http://www.google.com"> 
    Dropdown 
    <b class="caret"></b> 
</a> 

Jeśli chcesz podmenu pojawiać przy aktywowaniu (od klikając woli teraz przejść do określonego adresu URL), dodać tę klasę CSS:

.nav li.dropdown:hover .dropdown-menu 
{ 
    display: block;  
} 

dotyczy załadowania wersji 2.3.1.

+0

Awesome! Twoja odpowiedź powinna zostać przyjęta zamiast jednej na górze. Dokładnie tego potrzebowałem. –

+0

+1 dla celu danych = "" – Flowpoke

2

Jeśli chcesz rodzic śledzić link na Wordpress użyj:

$(".nav .dropdown-toggle").click(function() { 
    window.location = $(this).attr('href'); 
    }); 
0

Bootstrap 3.0 docs powiedzieć użyć atrybutu data-target zachować klikalne odnośniki.

Więc twój HTML staną:

<a class="dropdown-toggle" data-toggle="dropdown" data-target="http://www.google.com" href="#"> 
    Dropdown 
    <b class="caret"></b> 
</a> 
Powiązane problemy