2014-10-06 57 views
1

我使用的是引導下拉組件,這對我來說目前看起來是這樣的:防止引導下拉的回傳

 <div class="dropdown"> 
      <button class="btn btn-default dropdown-toggle" id="btnSaukList" data-toggle="dropdown" runat="server" style="width: 100%"> 
       Select a Saukville contact 
       <span class="caret"></span> 
      </button> 
      <ul id="ulSaukContact" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1" runat="server" style="width: 100%"> 
       <!--NOTE: Intentionally left blank; li's are generated by code behind to populate users from Sharepoint.--> 
      </ul> 
      <input id="inpSaukValue" type="hidden" /> 
     </div> 

default code sample here - 正如你所看到的,我的是不是不同的結構)

我的問題是,每次我點擊下拉項時,回傳被觸發(瀏覽器跳轉到該頁面的頂部)。我敢肯定,這是因爲默認的引導代碼使用的是<button>始終包含回發。

根據有關此問題的其他SO文章,推薦使用<input>或來代替。那麼我也不能做...

  • 不支持開始和結束標記之間的文本。
  • <input>不支持data-toggle屬性,這似乎下拉需求。

我也試過把onclick="return false;"加到我的<button>無濟於事。

我是新來引導並在一定程度上,ASP.net。

UPDATE: 這不是一個回傳,它是一個鏈接到「#」,我很困惑,對不起!

+0

@Adriano我接着說:RUNAT =「服務器」'這樣我就可以在代碼中使用背後的價值......我會更新我的問題 – Paul 2014-10-06 08:04:01

+0

我補充說,但我有同樣的事情。 – Paul 2014-10-06 08:15:43

+0

我認爲這可能與href有關。如果你看看他們提供的原始代碼片段,每個項目都有'A HREF =「#」'。現在,我試圖找到一種方法來繞過,因爲如果我完全刪除了''鏈接,我無法點擊的所有項目,我不得不重寫可能的CSS。 – Paul 2014-10-06 08:23:02

回答

2

我覺得我很困惑這一個,並標記問​​題作爲回傳 - 它不是。在Bootstrap的默認代碼片段中,每個下拉菜單項都包含一個指向「#」的鏈接。點擊指向該鏈接的鏈接(<a href="#">)將會將瀏覽器發送到頁面頂部。我認爲這是一個頁面刷新,但實際上並沒有刷新。

速戰速決是href="Javascript:;"更換href="#"。如果任何人有一個更好的解決方案,做股...