2013-03-09 2 views
11

Twitterのブーストラップボタンでモバイルデバイス(アンドロイド)を使用してボタンをクリックすると、マウスのようにボタンが奇妙なスタイルになり、別のものをクリックするまで解放されません素子。これは要素に適用されているアクティブなクラスではありません。 This is what the button looks like before clickingモバイルデバイスでブートストラップボタンが「スタック」する

This is what the button looks like after clicking notice the shading and background

それは私が彼らは私が別の要素をクリックするまで表示さいけないボタンにスタイルを適用しようとする場合は特に、微妙ですが、非常に迷惑なんです。

はあなたが私はjQueryを使って、イベントのすべてのソートをトリガー試みたが、何も働いていない

を言いたいことが表示されます、モバイルデバイス上のhttp://twitter.github.com/bootstrap/base-css.html#buttonsに行ってみて、ボタンをクリックして、これはの終わりに私が持っているスニペットです私のjavascriptの

$(document).on('tapclick', '.btn', function() { 
      $(this).blur(); 
      $(this).trigger('mouseup'); 


     }); 

と私は上のボタンにクラスを追加することで、この問題を修正ホバー

.btn a:hover,.btn a:link,.btn a:visited,.btn a:active{ 
text-decoration: none !important; 
cursor: default !important; 
background-color: transparent !important; 
background-image: none !important; 
} 

答えて

5

のCSSスタイリングをオーバーライドしようとしましたデフォルトのブートストラップバックグラウンド位置をオーバーライドします。

のjavascript:

$("button").on("touchstart", function(){ 
    $(this).removeClass("mobileHoverFix"); 
}); 
$("button").on("touchend", function(){ 
    $(this).addClass("mobileHoverFix"); 
}); 

CSS:あなただけの携帯電話のために開発している場合

.mobileHoverFix:hover, 
.mobileHoverFix.hover{ 
    background-position: 0 0px; 
} 
+0

ありがとう!これはしばらく私を悩ませている – Brian

8

その後、あなたは、単にたとえば、完全にホバーCSSをオーバーライドすることができます:

.btn:hover { 
    background-color: inherit; 
} 
+0

これは承認された答えでなければなりません。それは清潔で、CSSだけを使用します。非ホバー状態の正確なスタイルに合わせるために、おそらく継承ステートメントを微調整する必要があります – newbreedofgeek

関連する問題