如何在单击导航栏元素外部或单击Bootstrap 4中的链接时关闭打开的折叠导航栏?

时间:2016-11-09 00:08:29

标签: twitter-bootstrap navbar

bootstap 3中的

就像这样=>

$(document).on('click.nav','.navbar-collapse.in',function(e) {
    if( $(e.target).is('a') ) {
        $(this).removeClass('in').addClass('collapse');
    }
});

如何在bootstrap 4 alpha中执行此操作5.谢谢这里是navbar 4的codepen: http://codepen.io/parlop/pen/BQoNNx

2 个答案:

答案 0 :(得分:3)

我认为你需要做的就是更改类名,例如在代码中我看不到名为“navbar-collapse”的类:

$(document).on('click',function(e) {
    if(  $(e.target).attr('class') != 'navbar' ) {
        $('#navbarResponsive').removeClass('in');
    }
});

答案 1 :(得分:0)

这个人在Bootstrap 4上为我工作

    $('body').on('click', function(e) {
        if($(e.target).closest('.navbar').length === 0) {
            // click happened outside of .navbar, so hide
            var opened = $('.navbar-collapse').hasClass('collapse');
            if ( opened === true ) {
                $('.navbar-collapse').collapse('hide');
            }
        }
    });