【问题标题】:Dropdown Menus not Showing on iPhone Bootstrap 4 AlphaiPhone Bootstrap 4 Alpha 上未显示下拉菜单
【发布时间】:2018-02-26 18:40:00
【问题描述】:

我无法在 iPhone(但不是 Android)上使用 4.0.0-alpha.6 版本的 Bootstrap 4。我们的导航栏有两个下拉菜单,可以在桌面上正常工作(以及在用于测试响应活动的开发人员工具中)。但在 iPhone 上查看时,下拉菜单不起作用。看起来 javascript 存在问题 - 单击下拉列表应该添加“显示”类,但在 iPhone 上却没有。通过使用开发人员工具操作 DOM 手动添加“show”类会带来预期的 CSS 更改并正确显示下拉列表。任何人都可以就可能阻止 javascript 在这里工作的原因提出建议吗?我们在控制台中没有收到任何错误。

我们的存储库是here。我们正在运行 Jekyll 和 Ruby 2.3.3。

没有触发 JavaScript 的特定 HTML sn-p 是来自 repo 的 /_includes/menu.html:

<nav class="navbar navbar-toggleable-sm navbar-light bg-faded">
  <!--<div class="container">-->
  <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <a class="navbar-brand" href="{{site.baseurl}}{{site.data.snippets.menu-home[page.lang]}}">The Programming Historian</a>
  <div class="collapse navbar-collapse" id="navbarNavDropdown">
    <ul class="nav navbar-nav ml-auto w-100 justify-content-end">
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            {{site.data.snippets.menu-about[page.lang]}}
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
            <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-overview[page.lang].link}}">{{site.data.snippets.menu-about-overview[page.lang].title}}</a>
            <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-team[page.lang].link}}">{{site.data.snippets.menu-about-team[page.lang].title}}</a>
            <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-research[page.lang].link}}">{{site.data.snippets.menu-about-research[page.lang].title}}</a>
          </div>
        </li>

      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          {{site.data.snippets.menu-contribute[page.lang]}}
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink2">
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-overview[page.lang].link}}">{{site.data.snippets.menu-contribute-overview[page.lang].title}}</a>
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-feedback[page.lang].link}}">{{site.data.snippets.menu-contribute-feedback[page.lang].title}}</a>
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-review[page.lang].link}}">{{site.data.snippets.menu-contribute-review[page.lang].title}}</a>
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-write[page.lang].link}}">{{site.data.snippets.menu-contribute-write[page.lang].title}}</a>
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-edit[page.lang].link}}">{{site.data.snippets.menu-contribute-edit[page.lang].title}}</a>
          <a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-retirement[page.lang].link}}">{{site.data.snippets.menu-contribute-retirement[page.lang].title}}</a>
        </div>
      </li>

      <li class="nav-item">
        <a class="nav-link" href="{{site.baseurl}}{{site.data.snippets.menu-lessons[page.lang].link}}">{{site.data.snippets.menu-lessons[page.lang].title}}</a>
      </li>

      <li class="nav-item">
        <a class="nav-link" href="{{site.baseurl}}{{site.data.snippets.menu-blog[page.lang].link}}">{{site.data.snippets.menu-blog[page.lang].title}}</a>
      </li>

      <li class="nav-item">
        <a class="nav-link lang" href="{{site.baseurl}}{{site.data.snippets.menu-lang[page.lang].link}}">{{site.data.snippets.menu-lang[page.lang].title}}</a>
      </li>


    </ul>
  </div>
  <!--</div>-->
</nav>

包含所有 javascript 引用的头文件位于 /_includes/header.html:

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    {% include metadata.html %}

    {% include twitter-card.html %}

    <!-- Mobile viewport optimized: h5bp.com/viewport -->
    <meta name="viewport" content="width=device-width">

    <link href="{{site.baseurl}}/css/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet">

    <link href='{{site.baseurl}}/feed.xml' rel='alternate' type='application/atom+xml'>

    <title>{{ page.title }} | {{ site.name }}</title>

    <link href="https://fonts.googleapis.com/css?family=Crete+Round|Open+Sans|Quattrocento|Roboto|Roboto+Condensed" rel="stylesheet">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
    <link rel="stylesheet" href="{{site.baseurl}}/css/github.css">
    <link rel="stylesheet" href="{{site.baseurl}}/css/style.css">

    <script
      src="https://code.jquery.com/jquery-3.2.1.min.js"
      integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
      crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>

    <script type="text/javascript" src="{{site.baseurl}}/js/ext_links.js"></script>
    <script type="text/javascript" src="{{site.baseurl}}/js/header_links.js"></script>
    <script type="text/javascript" async
      src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>

  </head>

我们正在运行 Bootstrap JS 和 CSS 的 4.0.0-alpha.6 版本。我已经探索了herehere 的回复,但这些变通办法似乎不起作用。谷歌搜索表明这是当时 BS4-alpha 的一个已知问题,所以我尝试根据 BS4 上的文档here 将我们的 Bootstrap 版本升级到最新的稳定版本。但是,这并不能解决问题,而且还引入了此类迁移所预期的其他样式问题。所以我现在停止了迁移。如果这是最佳解决方案,任何有关此类迁移中可能丢失的内容的指导都会有所帮助。

任何帮助将不胜感激,我很乐意提供任何进一步的上下文或所需的代码。

【问题讨论】:

    标签: javascript jquery html css twitter-bootstrap


    【解决方案1】:

    以防它在将来对其他人有所帮助,我通过修改代码 here 来实现它。该链接提供了一些 javascript 来涵盖该功能,尽管我必须调整 jQuery 选择器以使代码适合我们设置的 html 结构。

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多