javascript - 使用 css 颜色和 jquery 的 iO 上的触摸菜单不起作用

标签 javascript jquery html ios css

我有一个带有 jquery 和 css 的菜单,该菜单在桌面和浏览器上运行完美,删除和添加了 current 类。

问题是当我在 iOs 上使用它时,jquery 不起作用。

有人可以帮助我使这个 jquery 在 iOS 上运行吗?可以是 Css 或 jquery 解决方案。

我试过使用 :focus :active 但这在 iOs 上不起作用

我也试过这个:How to recognize touch events using jQuery in Safari for iPad? Is it possible?

但是我没有成功。

谢谢。

CSS:

.accordion-menu {
  background-color: #f4f4f4;
  position: fixed;
  width: 50px;
  height: 100%;
}
.accordion-menu ul li {
  padding: 10px;
  border-top: 1px solid #dfdfdf;
}
.accordion-menu ul li:first-child {
  border: none;
}
.accordion-menu ul li i {
  color: #000;
}
.accordion-menu ul li i:hover {
  color: #fff;
  background-color: #0086ab;
}
.accordion-menu ul li:hover {
  background-color: #0086ab;
  color: #fff;
}

.nav {
  background-color: red;
}

.nav .fa {
  color: yellow;
}

.nav.active {
  color: black;
  background-color: blue;
}
.nav.active .fa {
  color: red;
}

js:

$('.nav').on('click', function() { 
  $(this).closest('li').toggleClass('active');
});

html:

<div class="accordion-menu">
  <ul class="" role="tabpanel">
    <li class="nav active">
      <a class="menu" data-toggle="tooltip" data-placement="bottom" title="home">
        <i class="fa fa-bars fa-2x" aria-hidden="true"></i>
      </a>
    </li>
    <li class="nav"><a class=""><i class="fa fa-search fa-2x" aria-hidden="true"></i></a></li>
  </ul>
</div>

jsfiddle: https://jsfiddle.net/gabcyff6/

最佳答案

:hover 行为有线,所以删除它们并仅使用 js

$('.nav').on('click', function(e) {
  $(this).closest('li').toggleClass('active');
});
.accordion-menu {
  background-color: #f4f4f4;
  position: fixed;
  width: 50px;
  height: 100%;
}
.accordion-menu ul li {
  padding: 10px;
  border-top: 1px solid #dfdfdf;
}
.accordion-menu ul li:first-child {
  border: none;
}
.accordion-menu ul li i {
  color: #000;
}
.nav {
  background-color: red;
}
.nav .fa {
  color: yellow;
}
.nav.active {
  color: black;
  background-color: blue;
}
.nav.active .fa {
  color: red;
}
<div class="accordion-menu">
  <ul class="" role="tabpanel">
    <li class="nav active">
      <a class="menu" data-toggle="tooltip" data-placement="bottom" title="home">
        <i class="fa fa-bars fa-2x" aria-hidden="true"></i>
      </a>
    </li>
    <li class="nav"><a class=""><i class="fa fa-search fa-2x" aria-hidden="true"></i></a>
    </li>

  </ul>
</div>

关于javascript - 使用 css 颜色和 jquery 的 iO 上的触摸菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543065/

相关文章:

html - 如何在angularjs中创建像音量 slider 一样的水平 slider ?

html - 将样式应用于包含嵌套列表的列表项

javascript - 在 Vanilla JavaScript 中将 SVG 椭圆转换为图像

javascript - 单击时会生成新文本框的按钮? - JavaScript

javascript - 在 Chosen from JS 中设置多个选项

javascript - 如何像google一样在圆圈中显示不同分辨率的动态图片?

jquery - 带有 jQ​​uery UI 对话框的 CKEditor、拼写检查和按钮在第二次单击时不起作用

html - 仅使用 CSS 在转换后隐藏元素

javascript - 将商品添加到购物车

JavaScript 加载和 DOM