私のサイトにはいくつかのcssメニューがあります:hover
(jsなしで)
これは、iDeviceで半ば壊れた方法で機能します。たとえば、タップすると:hover
ルールがアクティブになり、メニューが展開されますが、他の場所をタップしてもは削除されません:hover
。また、要素内にリンクされたリンクがある場合、2 :hover
回タップしてリンクをアクティブにする必要があります(最初のタップトリガー:hover
、2番目のタップトリガーリンク)。
touchstart
イベントをバインドすることで、iPhoneでうまく機能するようになりました。
問題は、モバイルサファリが私のイベントではなく:hover
CSSからルールをトリガーすることを選択する場合があることです。touchstart
:hover
CSSですべてのルールを手動で無効にすると、モバイルサファリが適切に機能するためです(ただし、通常のブラウザーでは明らかに機能しません)。
:hover
ユーザーがモバイルサファリを使用しているときに、特定の要素のルールを動的に「キャンセル」する方法はありますか?
ここでiOSの動作を確認して比較してください:http : //jsfiddle.net/74s35/3/ 注:一部のcssプロパティのみが2クリック動作をトリガーすることに注意してください。背景ではなく、赤。またはテキスト装飾:下線;