昨日、ハンバーガーメニューを改良したのですが、iPhoneのSafariで見ていたら、ハンバーガーメニューを開いた後のリンクを1タップしても遷移しませんでした。
2タップ目でリンク先にページ遷移。
何度やってもそう。
ちなみにiOSはv10.3.1です。
これってもしかして、iOS 8での2クリック問題なのでは・・・。
iOS 9で修正されたハズでは・・・。

(;´Д`)

という事で、jQueryでiOSの場合のみ、CSSに:hoverがあってもリンク遷移する様にしました。
head内に下記を記述します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
var userAgent = navigator.userAgent;
var UA_iPhone = (userAgent.indexOf('iPhone') > -1)? true:false;
var UA_iPad = (userAgent.indexOf('iPad') > -1)? true:false;
$(function() {
  if(UA_iPhone || UA_iPad) {
    $('a').bind("mouseover",function(ev) {
      var link = $(this).attr("href");
      var target = $(this).attr("target");
      var linktype = link.substring(0,1);
      if(linktype != "#") {
        if(target == "_blank") {
          window.open(link);
        } else {
          location.href = link;
        }
      }
    });
  }
});
</script>

これでiOSのSafariでもハンバーガーメニュー内のリンクを1タップでページ遷移出来る様になりました。
これってバグなのかな?


コメントを投稿する

* が付いている項目は必須です。
メールアドレスが公開されることはありません。