防止twitter-bootstrap-3下拉永久关闭

时间:2017-12-17 20:53:45

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3 drop-down-menu

如果点击#action下拉列表元素,则会显示确认对话框,如果取消,则会使用.dropdown('toggle')关闭下拉列表。

但是,如果不重新加载页面,则无法重新打开下拉列表。

关闭已打开的twitter-bootstrap-3下拉列表的正确方法是什么?

EDIT。我发现我可以将$("#action").dropdown('toggle');替换为$("#action").removeClass('open');,但是,这似乎不是"对"这样做的方法。

$("#netstart").click(function(){
    if(confirm('Are you sure?')) {
        $.ajax({
            type:'post',
            url:'netstart',
            success: function (rsp){
                location.reload();
            },
            error: function (xhr) {
                alert.log(xhr.error);
            }
        });
        location.reload();
    }
    else {
        $("#action").dropdown('toggle');
    }
});


<div class="masthead">
    <nav class="navbar navbar-default">
        <ul class="nav nav-justified">
            <li class='first active'><a href='/settings'>Configuration Settings</a></li>
            <li id='default'><a href='javascript:void(0)'>Default Settings</a></li>
            <li id='testRemote'><a href='javascript:void(0)'>Test Server</a></li>
            <li><a href='/logs'>System Logs</a></li>
            <li><a href='/backup'>Backup Database</a></li>
            <li id='action' class='dropdown'>
                <a href='javascript:void(0)' data-toggle='dropdown' class='dropdown-toggle'>Action <b class='caret'></b></a>
                <ul class='dropdown-menu'>
                    <li id='reboot'><a href='javascript:void(0)'>Reboot</a></li>
                    <li id='halt'><a href='javascript:void(0)'>Shutdown</a></li>
                    <li id='netstart'><a href='javascript:void(0)'>Restart Network</a></li>
                </ul>
            </li><li id='logoff' class='last'><a href='javascript:void(0)'>Logoff</a></li>
        </ul>
    </nav>
</div>

0 个答案:

没有答案