jquery - 对于 iPhone 和 iPad,如何通过一次点击将类(class)添加到链接并通过第二次点击转到链接?

标签 jquery html css

我在仅点击 Apple 平板电脑和手机时遇到了一个特殊问题。台式机没问题。

单击导航项时,我想对其应用“显示”类。然后,当再次点击该链接时,访问者将被带到该链接的 URL。

我目前的编码仅适用于非 Apple 平板电脑和手机。我在这里找到了一个潜在的解决方案,但不行。您可以在下面我的 jQuery 代码中看到此解决方案的一部分:iPad/iPhone hover problem causes the user to double click a link

顺便说一下,我意识到我过去的几个 Unresolved 问题是这个问题的延伸,所以请耐心等待我在前面的问题的帮助下开发编码以解决这个问题。感谢任何帮助!

这是我当前的代码设置:

HTML

<div id="nav">
  <li class="wsite-menu-item-wrap"><a href="#">Home</a></li>
  <li class="wsite-menu-item-wrap"><a href="#">About</a></li>
  <li class="wsite-menu-item-wrap"><a href="#">Contact</a></li>
</div>

CSS

.show {
  background:orange;
  color:white;
}

jQuery

if($('#nav .wsite-menu-item-wrap a').hasClass('show') {
  $('#nav .wsite-menu-item-wrap a').on('click touchend', function(e) {
    var el = $(this);
    var link = el.attr('href');
    window.location = link;
  });
}

$('#nav .wsite-nav-1 a, #wsite-menus .wsite-menu-wrap:nth-of- type(1)').hover(function() {
  $('#nav .wsite-nav-1 a').addClass('show');
}, function() {
  $('#nav .wsite-nav-1 a').removeClass('show');
});

最佳答案

添加href属性的检查,如果不存在则重定向。

if (el.hasClass("show")) {
    window.location = link;
} else {
    el.addClass("show");
}

关于jquery - 对于 iPhone 和 iPad,如何通过一次点击将类(class)添加到链接并通过第二次点击转到链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50609450/

相关文章:

javascript - 是否可以更改 :before using javascript or jQuery

jquery - 使用 jquery 设置下拉值

javascript - CoffeeScripted Ajax 调用结果在实际成功时失败回调

javascript - 如何根据所选的数据列表选项选择复选框(不同页面)

尚未完成时,CSS 过渡不会顺利过渡回来

javascript - 追加无法使用 optgroup 将选项添加到动态加载的选项列表

html - 在同一行左右对齐元素的问题

javascript - 如何在单击 'filename.php' 按钮时将一些值发送到 'Submit',即在下拉列表中选择的元素的值

css - 包装 div 的垂直滚动

javascript - 如何使用具有延迟或较少处理强度的 JavaScript OnResize