iPadでサイトのボタンをクリックすると、実際にはデザイナーが作成したホバーの状態を実際に切り替えることができます実際:ホバーイベントです。私はこの無意味な振る舞いに苦しんでいるウェブサイトを作りました。 たとえば、ページを離れないボタンをクリックすることはできますが、iOSでは、そのボタンのホバー状態が永久に表示されます。 どのようにしてこの邪悪な行為をエレガントに取り除くことができますか ?新しいCSSファイルを追加すると、最大幅のデバイスのための条件付きコメントを使用して、例えば、これらの新しいCSSファイルにホバー状態をリセットすることによりボタンを押したときにiOSの動作を無効にする:ホバーの状態
2
A
答えて
0
...
iPhone
<link media="only screen and (max-device-width: 480px)" rel="stylesheet" href="css/iphone.css" type="text/css" title="no title"/>
iPadの
<link media="only screen and (device-width: 768px)" rel="stylesheet" href="css/ipad.css" type="text/css" title="no title"/>
これらのデバイスで出力されるCSSを調整してください。
0
これはいくつかのJavaScriptが必要になりますが、これは私が思いつく最良の解決策です。
基本的には、デフォルトのスタイルをオーバーライドして、ホバーイベントに頼る代わりにクラスを切り替えます。
私はこのソリューションは非常に簡単で、両方のユーザがリンクにHTML
<ul>
<li><a href="some-url">link name <span></span></a>
<ul>
<li><a href="some-url">link name</a></li>
</ul>
</li>
<li><a href="some-url">link name <span></span></a></li>
<li><a href="some-url">link name <span></span></a></li>
</ul>
トップレベルのリンクをクリックして拡大/崩壊することができることができますでしょうね
CSS
li{width:200px;}
li a span{
display:inline-block;
height:10px;
width:10px;
background:#000;
float:right;
}
/* Standard menu system */
li ul{display:none}
li:hover ul {display:block}
/* Override for ios */
/* Needs to be inside some media query */
/* Something like @media(max-width:497px) */
li:hover ul{display:none;}
li.hovered ul{display:block}
のJavascript(jquer Y)
$('nav li a span').click(function (e) {
e.preventDefault();
$('nav li').not($(e.target).parents('li')).removeClass('hovered');
$(e.target).parent('a').parent('li').toggleClass('hovered');
})
ワーキングJsFiddle
関連する問題
- 1. ボタンを押したときにタブコントロールを無効にするVB.NET
- 2. jQuery UIボタン - アクティブな状態を維持し、ホバー状態を無視する
- 3. 別のボタンを押したときにボタンを無効にする方法は?
- 4. ボタンを押したときの状態の変更方法は?
- 5. ホバー状態の画像ボタン
- 6. 無効なボタンがタッチされたときに押された状態を失う
- 7. 戻るボタンを押したときの状態を保存します
- 8. コントロールの状態を無効にする
- 9. ホバー状態が動作しないCSS
- 10. ボタンを押したときの効果
- 11. ボタンをデフォルトから押した状態に戻す
- 12. QToolButtonは無効状態でホバーを受け入れますか?
- 13. 処理:ボタン押しスイッチの状態
- 14. ボタンを押したときにタイマーを有効にするC#
- 15. 状態維持を無効にする
- 16. ボタンを無効にするとホバーが無効になります
- 17. iOS版のUIテストで、アイドル状態を待って無効にすると、
- 18. ボタンを押した後でUIButtonを無効にする
- 19. iOSのボタンを無効にする
- 20. Twitter-Bootstrapボタンは、クリック後にホバー状態を保持します
- 21. ボタンを押した後にボタンの動作が停止する
- 22. Ember.jsのボタンのバインドを有効にした状態
- 23. 透明なホバー状態をボタンに追加する方法
- 24. ボタンを押してアプリケーションを初期状態に戻す
- 25. テキストフィールドが空の状態で、UIAlertViewのボタンを無効にします
- 26. 失敗:テキストフィールドに.sendKeys()を試行したときに無効な要素状態
- 27. ボタンを押したときにiframeを動的にロードする
- 28. ngFormが無効のときにボタンを無効にする
- 29. ActionBarボタンは「押された」状態を維持しますか?
- 30. JSP-HTMLボタンが有効、無効の状態