如何关闭引导3下拉当我们点击平板电脑之外?(How to close bootstrap 3 dro

2019-10-21 17:10发布

我这样做,它工作正常的办公桌上:

$(document).on("click", function(){
  $(".dropdown-toggle").removeClass("open");
});

但在iPad上,它不工作,我的下拉保持开放

Answer 1:

您应该使用touchstarttouchend带触摸设备的事件:

$(document).on("click touchend", function(){
    $(".dropdown-toggle").removeClass("open");
});


Answer 2:

这个答案涉及到导航栏菜单,而不是一般的下拉列表中 ,但我碰到这个在寻找的答案,我自己类似的问题来了(接近汉堡包菜单攻外时),所以认为我会张贴别人的替代方案,如接受的答案不与汉堡的子菜单工作(攻打开子菜单将关闭汉堡菜单)。

这个答案是基于公认的答案和这个答案,以及对NickGreen的评论这个答案。

$('html').on('click, touchend', function (e) {
    // Close hamburger menu when tapping outside
    if ($(e.target).closest('.navbar').length == 0) {
        var opened = $('.navbar-collapse').hasClass('collapse in');
        if (opened === true) {
            $('.navbar-collapse').collapse('hide');
        }
    }
});


Answer 3:

我用这个片段,如果我不想关闭任何下拉页面上,当用户点击里面。

$(document).on('click touchend', function(e) {
  if ($(e.target).closest('.open').length === 0) {
    $('.dropdown-toggle').parent().removeClass('open');
  }
});


文章来源: How to close bootstrap 3 dropdown when we click outside on a tablet?