【问题标题】:Bootstrap dropdown menu: not close when click outside the menuBootstrap下拉菜单:在菜单外单击时不关闭
【发布时间】:2016-04-13 22:48:51
【问题描述】:

我正在使用这个脚本来控制打开/折叠菜单项:

$('.dropdown').on({
    "click": function(event) {
        if ($(event.target).closest('.dropdown-toggle').length && $(this).parents('.dropdown').length === ($(event.target).parents('.dropdown').length - 1)) {
            $(this).data('closable', true);
        } else {
            $(this).data('closable', false);
        }
    },
    "hide.bs.dropdown": function(event) {
        hide = $(this).data('closable');
        $(this).data('closable', true);
        return hide;
    }
});

但我需要创建一个条件,即如果用户在菜单外单击,则打开的项目不会关闭。

这个问题涉及 Bootstrap 特性。只是使用:

$(document).on('click', function(event)

没有完全回答我的问题。

【问题讨论】:

标签: javascript jquery twitter-bootstrap


【解决方案1】:

试试这个来检测你是否不在菜单中。

$(document).on('click', function(event) {
  if (!$(event.target).closest('.dropdown-toggle').length) {
      return false;
  }
});

【讨论】:

  • 我添加 $('.dropdown').on("hide.bs.dropdown", function(event) {return false; });在函数内部,但是在页面的其他部分单击时菜单仍然关闭。
  • 对不起,我错过了你不想在外面点击时关闭。在这种情况下,您可以尝试使用 event.stopPropagation();但我不确定其他事情是否没有被触及
  • 这个脚本部分工作。它停止页面、湖面板和轮播中的所有其他 Bootstrap javascript 模块的问题。有什么想法吗?
  • 不。现在,点击外部时菜单已关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2017-03-23
  • 1970-01-01
相关资源
最近更新 更多