0

私はウェブサイトhttp://ADHD.BHStudios.orgを持っています。これには、マウスカーソルをその上に置くまで非表示のままになるはずのサイドバーがあります(純粋なCSS)。ただし、iOS Safari では、ブラウザ ペインにはカーソルが左上のピクセルにあることが常に通知されるため、ユーザーがサイドバーに触れてフォーカスを移すときではなく、常にこのサイドバーを開いたままにする必要があります。iOS Safari がブラウザ ペインの左上のピクセルにカーソルを保持しないようにするにはどうすればよいですか? また、その後、「タッチして展開」機能を保持するにはどうすればよいですか?他のブラウザーや他のオペレーティング システムでは、この問題は発生しません。iOS 5 および 6 を搭載した iPad 2、iPad 3、および iPhone 4 でテスト済み。これも、Opera Mobile (iOS および Android)、Chrome (iOS および Android)、デフォルトのAndroid 2.2 ブラウザ。

4

1 に答える 1

0

iPhoneのレイアウトは異なりますが、iPadではサイドバーが開いていません。だから、私はあなたの問題のその部分を再現することはできません。

ホバーの問題に関しては、明らかにタッチスクリーンデバイスにホバー疑似クラスはありません。タッチスタートイベントにイベントリスナーをアタッチする必要があります

document.getElementById('top').addEventListener('touchstart', function(){...});

それが消えるようにタイマーを設定することができます(これをタッチスタートコールバック内に置きます):

 setTimeout(function(){...}), [milliseconds]);

それが私がやる方法です。

于 2013-01-07T08:14:53.033 に答える