双击 ipad 需要 link,伪渐变

double tap ipad necessary for link with gradient on pseudo

在我的主导航中,links 在背景上有一个带有线性渐变的自定义下划线。它运行良好,但在 ipad 上,我需要点击两次才能执行 link。一个用于悬停,另一个用于 link。我能做些什么来解决它?

谢谢

这是一个例子: http://codepen.io/anon/pen/yOmXby

HTML :

<ul>
<li><a target="_blank" href="#">element</a></li>
<li><a target="_blank" href="#">element</a></li>
<li><a target="_blank" href="#">element</a></li>
<li><a target="_blank" href="#">element</a></li>
<li><a target="_blank" href="#">element</a></li>
</ul>

CSS :

li {
  list-style: none;
  float: left;
  margin: 0 1em;
}

ul li a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.5rem;
    margin-left: 60px;
    height: 30px;
    line-height: 30px;
    vertical-align: middle;
    position: relative;
    display: inline-block;
}
ul li a:before {
    -webkit-transform: translateX(-50%) translateY(0);-ms-transform: translateX(-50%) translateY(0);transform: translateX(-50%) translateY(0);
    -webkit-transition: all 0.4s ease 0s;transition: all 0.4s ease 0s;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 3px;
    background: #e95b4c;
    width: 0;
    opacity: 0;
    will-change: opacity;
}
ul li a:hover:before, ul li a:focus:before, ul li a:active:before {
    width:100%;
    opacity: 1;
}

嗯,我找到的唯一解决方案是 javascript。

每次触摸 link 都会执行 link :

$(document).ready(function() {

    $('a').on('click touchend', function(e) {
        var el = $(this);
        var link = el.attr('href');
        window.location = link;
    });

});