Bootstrap:如何在模态窗口关闭时更改菜单项颜色

时间:2013-07-06 18:21:19

标签: javascript css twitter-bootstrap

我正在使用twitter bootstrap并尝试通过单击菜单项打开模式弹出窗口。 这是我的代码:

<div class="navbar navbar-fixed-bottom">
    <div class="navbar-inner">
        <ul class="nav pull-right">
            <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu</a>
                <ul class="dropdown-menu">
                    <li class="active"><a href="">Some item 1</a></li>
                    <li class=""><a href="">Some item 2</a></li>
                </ul>
            </li>
            <li class="dropdown"><a href="#myModal" class="dropdown-toggle" data-toggle="modal">
                Contacts</a></li>
        </ul>
    </div>
    <!-- /.navbar-inner -->
</div>

我的模态窗口:

<div class="modal hide" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
    aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
            ×</button>
        <h3 id="myModalLabel">
            Modal header</h3>
    </div>
    <div class="modal-body">
        <p>
            One fine body…</p>
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">
            Close</button>
        <button class="btn btn-primary">
            Save changes</button>
    </div>
</div>

第一个菜单项有下拉数据切换。第二个菜单项有模态数据切换。 当我点击第一个项目时,它看起来就像点击并改变自己的颜色。当我点击第二个(联系人)菜单项时,项目颜色保持不变。我为“Contacts”li元素添加了onclick事件:

onclick="$(this).addClass('modal-open-li');"

我正在编写自己的modal-open-li类来点击此元素。但是当我关闭模态弹出窗口时,如何返回li元素的颜色?另外,我可以为li这样的data-toggle="modal dropdown"元素添加多个数据切换吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望在关闭模式时将类删除到链接,为此您可以绑定到模型'hide'事件,尝试添加此JavaScript代码:

$('#myModal').on('hide',function(){
    $('.nav > li > a.modal-open-li').removeClass('modal-open-li');
});

关于为元素添加多个数据切换,我不知道它是否可行,但我会反对它,因为你真的需要切换下拉列表并同时打开一个模态吗?我认为有更好的方法可以改善用户体验