忍者ブログ
17 May

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

28 December

safari 2回クリック押さないと動かない症状

症状
iphone safari のみ、2回クリックしないとクリックイベントが発動しない箇所がある

原因
https://on-ze.com/archives/3066

ありがてえ‥これをみつけなければ死んでた。
なぜならmacもってないから開発者ツール使えなくて検証できない
:hoverの指定が邪魔してるらしい
私はopacityじゃなかったんで、hover自体がダメっぽい




macをもっていないので、iphoneだけじゃなくてmacでそうなるかはわかない
でもipadで試してもらったら同じ挙動だったのでmacもそうかもしれない
ということでsafari以外のみhoverのcssを設定することにした
safari以外cssハックをした
safariはhoverを設定してないというcss

safariってあまりおかしくならないので気にしてなかったが、safariのみおかしくなった場合とにかくmacがないのでやばい



safari iphone
jsのアラートでチェックしてみたところ、1回目のクリックではクリックイベントとして認識されておらず、アラートが発動しなかった。2回目のクリックでアラートが発動したので、そこで初めてクリックが認識された模様。つまり1回目のクリックはhoverに阻まれていた?ような形

jsが全然わからないので、たまたまこんなことやってみようかな(アラートとかconsole.log() )とかやってみて原因追求ができた。
最初はクリックイベントを強制的にもう1回やるとかダブルクリックさせるとか、色々jsでやってみたんだが、一向に動作しないので、私の記述が悪いのかなんなのか全然わかんなかった。
しかし、1回目のクリックイベントが無効状態なら、私が書いたようなjsはそもそも発動してなかったという可能性が高いのかなあ



opacityなんて使いまくってるし、レスポンシブで画像リンクとかそのままopacityやっちゃってるけど今まで1回目のクリックで飛べないなんて経験したことがなかった
いや、そこまでiphoneで画像クリック確認してないが…
PR