1

CSS とおそらく Javascript に関する質問です。1行おきに異なる色を使用し、デフォルトのテキストを灰色にします。ただし、入力フィールドにフォーカスがあると、新しいテキストを黒くし、フィールドにフォーカスがなくなった後も黒のままにしたいです。これが私がこれまでに行ったことです:

input {
   font-family:Verdana, Trebuchet MS;
   font-size:11px;
   vertical-align:top;
}

input:focus {
    color: black;
}

input.odd {
   color: #888;
   background:#FFFFB4;
}

input.even {
   color: #888;
   background:#FFD9C8;
}

このコードは、行ごとに異なる色を使用し、デフォルトのテキストを灰色にするという私の要件を満たしています。ただし、新しいテキストは黒ではなく灰色です。次に、新しいテキストを黒のままにする方法を教えてください。

更新された CSS

input {
   font-family:Verdana, Trebuchet MS;
   font-size:11px;
   vertical-align:top;
}

input.odd {
   color: #888;
   background:#FFFFB4;
}

input.even {
   color: #888;
   background:#FFD9C8;
}

input.odd:focus, input.even:focus, input.odd.hasText, input.even.hasText {
    color: black;
}

新しい jQuery コード

$('input').focus(function() {
   $(this).addClass('hasText');
});
4

1 に答える 1

0

ほとんどの場合、あなたが望む

input.odd:focus,input.even:focus {
    color: black;
}

フォーカスを失った後にテキストが灰色に戻ることを意味する場合は、テキストが入力されたら、おそらく javascript を介してクラスを追加し、そのクラスをフォーカス クラスと一致させる必要があります。

編集

何かのようなもの:

$('input').focus(function(){
    $(this).addClass('hasText');
});

次に、CSS に次のように記述します。

input.even:focus,input.odd:focus,input.hasText{
    color: black;
}
于 2013-02-07T15:31:37.557 に答える