2012-08-03 54 views
6

我有這個引導Twitter的下拉菜單。我用鼠標懸停事件替換了點擊事件。 現在唯一的問題是應該遵循www.google.com,但事實並非如此。我嘗試過:Bootstrap Twitter下拉菜單:讓父母跟着鏈接

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

但沒有骰子。

下面是代碼:

<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/

回答

2

不是真的不太清楚你正試圖在這裏實現什麼。

但是這會讓.click()帶你到谷歌。

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

至於爲什麼吃了<a>點擊事件,我目前不肯定。

+0

那麼不是真的喜歡這一點,因爲我需要使用dinamically值,但不知何故,我想通了,根據您的建議。謝謝 – Faraderegele 2012-08-06 07:19:51

+1

我假設你只是設置'window.location = $(「#element」).href()'左右。至少你得到它的工作! – Sphvn 2012-08-06 08:27:32

+1

只需'window.location = this.href'就足夠了。 – 2013-03-14 01:57:04

16

您可以通過稍微更改標記並添加CSS類來完成此操作,而無需JavaScript。

更改HTML標記(**注禁用下一個被添加到下拉撥動):**

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

如果你想在子菜單出現在懸停(因爲點擊意志現在去指定的網址),添加這個CSS類:

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

這適用於自引導2.3.1版。

+0

太棒了!你的答案應該被接受,而不是頂部的答案。這正是我需要的。 – 2013-06-13 05:39:48

+0

+1 for data-target =「」 – Flowpoke 2014-06-02 20:00:32

2

如果您希望父遵循WordPress的鏈接使用:

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

Bootstrap 3.0 docs說使用data-target屬性保留可點擊的鏈接。

所以,你的HTML將成爲:

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