【问题标题】:dropdown menu javascript not working on tablet or iphone下拉菜单 javascript 在平板电脑或 iPhone 上不起作用
【发布时间】:2017-08-11 05:53:30
【问题描述】:

我的导航栏上的下拉菜单在 iPhone 6 或 iPad 上不显示。但是,下拉菜单显示在我的笔记本电脑 (MacBook air) 上的 chrome、safari 和 firefox 上。我的网站是http://emilypedersen.me

我的导航栏代码如下:

<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Emily Pedersen</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css'>

    <link rel="stylesheet" href="css/style.css">
    <script src="//cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>

   </head>

  <body>
  <!-- .navbar -->
  <nav class="navbar navbar-full navbar-dark bg-primary">
  <button class="navbar-toggler hidden-lg-up" type="button" data-toggle="collapse" data-target="#mainNavbarCollapse">
&#9776;
</button>
<a class = 'navbar-brand' href="home" id = 'brand'> <img src="images/emily_pedersen_2.jpg"></a>
<div class="collapse navbar-toggleable-md" id="mainNavbarCollapse">
    <ul class="nav navbar-nav pull-lg-right">
        <li class="nav-item">
            <a class="nav-link" href="home">Home <span class="sr-only">(current)</span></a>
        </li>
    <li class="nav-item dropdown">
            <a class="nav-link" id="navbarDropdown1" data-toggle="dropdown">About &#x25BF;</a>
            <ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
                <li><a class="dropdown-item" href="about_me">About Me</a></li>
                <li><a class="dropdown-item" href="my_travels">My Travels</a></li>
            </ul>
        </li>
        <li class="nav-item dropdown">
            <a class="nav-link" id="navbarDropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Portfolio &#x25BF;</a>
            <ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
                <li><a class="dropdown-item" href="resume">Resume</a></li>
                <li><a class="dropdown-item" href="projects">Projects</a></li>
                <li><a class="dropdown-item" href="writings">Writings</a></li>
            </ul>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="contact">Contact</a>
        </li>
    </ul>
</div>
</nav>
<!-- /.navbar -->
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script>
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js'></script>
</body>
</html>

这是我的导航栏的 css:

@media (max-width: 62em) {
.navbar-nav {
padding-top: .425rem;
padding-left: 0.75rem;
}

.navbar-nav .nav-item {
float: none;
}

.navbar-brand {
float: right;
}

#brand {
width:80%;
}

.navbar-toggler {
 width: 10%;
 }


.navbar-brand,
.navbar-nav .nav-item {
 display: block;
 } 

.navbar-nav .nav-item + .nav-item {
 margin-left: 0;
 }

.dropdown-menu {
 position: relative;
 float: none;
 background-color: white;
 }

 .dropdown-menu > li > a {
  color: black;
  background-color: white;
  }
 }


.navbar-dark .navbar-nav .nav-link {
 color:white;
 }

.nav-link {
text-transform: uppercase;
font-size: 12px;
font-weight: 400;
line-height: 1em;
letter-spacing: 1px;
}

.navbar-nav > li > a {
 padding: 5px;
 margin-top: 30px;
 }

 .nav > li > a:focus, .nav > li > a:hover {
  background-color: transparent;

  }

 .nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
   background-color: transparent;
  }

 .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
   background-color:transparent;
   color:#7EB6FF;
  }

  .dropdown-item {
    display:block;
    font-size:12px;
    text-transform: uppercase;
   }

 .navbar-brand {
  margin-top:10px;
  }

我不确定这是@media 标签的问题还是我的网站运行所在的硬件问题。下拉菜单适用于台式机、笔记本电脑和 Android 7.0。

任何指导或建议将不胜感激!

【问题讨论】:

  • 我在开发工具中用iphone5s规格检查了chrome浏览器,导航栏工作正常。还有其他方法可以检查吗?
  • 感谢您的检查!所以你可以看到关于和投资组合下的下拉菜单?当我出于某种原因使用我父亲的 iPhone 和他的 iPad 时,当我点击关于和投资组合时,下拉菜单没有显示。
  • 是的。欢迎 :) 如果您想交叉验证,您可以在 chrome 或 firefox 浏览器开发工具中进行检查。我已将您在 iphone 中的项目的屏幕截图发送到您的电子邮件 ID。

标签: javascript jquery html twitter-bootstrap dropdown


【解决方案1】:

所以我发现这个 stackover 答案:(Bootstrap 4 navbar dropdown menu item not clickable on mobile devices)。

基本上在我的navigation.html中我需要改变:

<a class="nav-link" id="navbarDropdown1" data-toggle="dropdown">About &#x25BF;</a>

到:

<a class="nav-link" href="#" role="button" id="navbarDropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">About &#x25BF;</a>

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 2014-05-22
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2015-10-31
    相关资源
    最近更新 更多