1

サイトをモバイル最適化し、フライアウト メニューを作成しました。:hover のメニュー ボタンの色の変更を無効にしました。これは、iPhone がホバー疑似クラスを維持するために最後にクリックされたと見なすためです。

ただし、現在はブラックベリーでテストしており、デスクトップスタイルのカーソルがあるため、マウスオーバーで要素の色が変化することでメリットが得られます。

ブラックベリーではなく、iPhone のホバーカラーを無効にすることはできますか? より一般的には、実際にマウスオーバーできるのはブラックベリーのような非タッチ スクリーン デバイスのみで、ホバー カラーを使用する方法はありますか。ありがとう

4

1 に答える 1

0

これはあなたの質問の最初の部分に答えます。Modernizr を使用してから、appleOS テストを追加してみてください。

Modernizr.addTest('ipad', function () {
  return !!navigator.userAgent.match(/iPad/i);
});

Modernizr.addTest('iphone', function () {
  return !!navigator.userAgent.match(/iPhone/i);
});

Modernizr.addTest('ipod', function () {
  return !!navigator.userAgent.match(/iPod/i);
});

Modernizr.addTest('appleios', function () {
  return (Modernizr.ipad || Modernizr.ipod || Modernizr.iphone);
});

そこから、iOS の場合はボディにクラスを追加し、iOS 以外のデバイスのみにホバー クラスを適用できます。

理想的には、Modernizr がタッチをサポートしないブラウザーに追加する「notouch」ボディ クラスを使用できますが、私の経験では、デバイスがタッチをサポートしていない場合でも、このクラスを Blackberry ブラウザーに追加しません。違うと思ったら教えて!

于 2011-11-11T16:38:52.207 に答える