我有一個小提琴,它具有顯示選項卡形式的下拉列表。如何防止在單擊內部時丟失焦點的下拉菜單
注意:您看不到選項卡,但如果將鼠標懸停在頂部,則會看到有4個選項卡。
想法是,用戶可以選擇一個選項卡,然後填寫表單。
目前,如果你點擊一個標籤,它將失去焦點,下拉消失。如果您再次點擊「某個標題」鏈接,您會注意到您選擇的標籤已被正確選中,但失去了焦點。
<div class="dropdown">
<a class="btn dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">Some title</a>
<div class="dropdown-menu dropdown-menu-right subscribe-box" aria-labelledby="dropdownMenu1">
<ul class="nav nav-pills" id="myTab">
<li class="active"><a href="#" data-target="#mail" data-toggle="tab"><i class="fa fa-envelope-o"></i></a></li>
<li><a href="#" data-target="#twitter" data-toggle="tab"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" data-target="#sms" data-toggle="tab"><i class="fa fa-commenting"></i></a></li>
<li><a href="#" data-target="#rss" data-toggle="tab"><i class="fa fa-rss"></i></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="mail">
<p>Enter your email address.</p>
<div class="row">
<div class="col-sm-8 input-box">
<input placeholder="[email protected]" type="text">
</div>
<div class="col-sm-4 input-button">
<a href="" class="btn">Subscribe</a>
</div>
</div>
</div>
<div class="tab-pane" id="twitter">
<p>Enter your twitter username</p>
<input placeholder="@username" type="text">
</div>
<div class="tab-pane" id="sms">
<p>phone</p>
<input placeholder="555-123-4567" type="text">
</div>
<div class="tab-pane" id="rss">
<p>rss link</p>
</div>
</div>
</div>
</div>
</div>
https://jsfiddle.net/zr6q6bsm/
什麼我需要修改,以便當您選擇下拉里面任何東西,它不會失去焦點。
我是否以錯誤的方式使用下拉組件?我想我應該使用一個模態呢?這似乎很多編碼做我想要的:) – Blankman
這是絕對不尋常的有一個標籤內的「下拉」,但我不會去說,這是錯誤的。但是你需要像上面那樣處理'click'冒泡,所以它不會關閉下拉菜單。但是否應該使用下拉與模式取決於您的內容,它與您的應用/網站的關係,以及您使用此設備的設備。設計一個好的用戶界面/用戶體驗是一個完全獨立的工作,而不是從我看到的地方編碼。 –
或者你可以用Farzin的方法去。他不會試圖阻止倒閉。他每次關閉時都會重新打開它。相當有效,但您需要爲每個不應關閉它們的下拉內的「click」事件執行此操作。 –