5

ユーザーがモバイルでタッチ/タップしたときにリンクの背景色を変更しようとしていますが、次のコードは機能しますが、リンクが黒のままで、離しても白に戻らないことがあります。より良い方法はありますか?それをコーディングするのですか?

$('#test').bind('touchstart', function() {
    $(this).css('background-color', 'black');
});

$('#test').bind('touchend', function() {
    $(this).css('background-color', 'white');
});​

ありがとう!

4

1 に答える 1

9

これは、jQuery を使用せずに CSS で実行できます。

a:active
{
    background-color: black;
}

Androidのストックブラウザとの互換性に関する注意

何らかの理由で、上記のコードは Android のストック ブラウザー(および他のブラウザー) では機能しません。ただし、次のようにタグにontouchstart=""引数を追加すると機能します。<body>

<body ontouchstart="">

また、Android ストック ブラウザは、デフォルトでリンクを強調表示します(私の電話では青い背景で)。これを無効にするには、次のように入力します。

a
{
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
}

詳細については、これこれを参照してください。

ここでJsfiddle

于 2013-06-01T09:17:51.490 に答える