簡體   English   中英

單擊關閉Twitter Bootstrap下拉彈出窗口

[英]Close Twitter Bootstrap dropdown popover on click

我有以下HTML代碼:

<ul class="inline unstyled">
    <li class="select-value-li dropdown">
        <a href="#" data-toggle="dropdown" class="dropdown-toggle select-value" data-placement="bottom">
            -- Select values to show --
            <b class="pull-right caret"></b>
        </a>
    </li>
</ul>

<div id="popover_select_values" style='display:none'>
    <ul class="scrollable-menu unstyled">
        <li>element 1</li>
        <li>element 2</li>
    </ul>
</div>

這是我的jQuery代碼:

$(".select-value").popover({
    html: true,
    content: function() {
        return $("#popover_select_values").html();
    }
});

我想關閉該下拉菜單,方法是單擊其外部的任何地方。

$(document).on('click', function(e) {
    var isDropdown = $('.select-value-li.dropdown-open').length > 0;
    if (!isDropdown) {
        $('.select-value-li').slideUp();
    }
});

這將刪除整個下拉列表。 我什至看不到select-values-to-showselect-values-to-show和旁邊的插入符號。 我只想關閉彈出窗口。

看看這個JSfiddle

您只需調用$(".select-value").popover('hide')即可關閉彈出窗口

最好使用data-trigger="focus"屬性來自動隱藏丟失的焦點上的彈出框。 因此,您無需添加額外的事件處理程序。

但在這種情況下,最好使用下拉菜單。 檢查以下鏈接: http : //getbootstrap.com/javascript/#dropdowns

請查看以下代碼段: https : //jsfiddle.net/e46tu6o3/6/

$(document).on('click', function(e) {
    var isDropdown = $('.select-value-li.dropdown.open').length > 0;
    if (!isDropdown){
        $('.select-value').popover('hide');
    }
});

請注意,單擊元素1或2也會關閉彈出窗口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM