0

ユーザーがテキスト フィールドに注目したときに、そのテキスト フィールド内のテキストの色を (他のいくつかのプロパティの中で) 変更したいと考えています。ユーザーがそのフィールドを離れたとき (ぼかし)、テキスト/スタイルをフォーカス前と同じように表示したいと考えています。現在、私は反復的な方法でそれをやっています。

$('#name1').focus(function() {
    $(this).css('color', 'red')
});
$('#name1').blur(function() {
        $(this).css('color', 'black')
});

これを次のようにするにはどうすればよいですか。

$('#name1').blur(function() {
        $(this).beforeFocus();
});
4

4 に答える 4

4

焦点を合わせる方法に関する CSS スタイルを定義し、onblur を削除します。

.input_focus {
   color: red;
}

そして脚本、

$('#name1').focus(function() {
    $(this).addClass('input_focus')
}).blur(function() {
    $(this).removeClass('input_focus')
});

このようにして、集中したときに任意の数のスタイルを追加できます。

于 2012-04-23T19:15:34.810 に答える
1
$('#name1').focus(function() {
    $(this).addClass('focus');
}).blur(function() {
    $(this).removeClass('focus');
});

于 2012-04-23T19:13:44.703 に答える
1

理想的には、2 つの異なる CSS クラスを使用し、それらのクラスに適切なプロパティをすべて定義します。次に、次のようになります。

$('#name1').focus(function() {
    $(this).removeClass("blurred").addClass("focused");
}).blur(function() {
    $(this).removeClass("focused").addClass("blurred");
});

または、この方法を使用したくない場合、または入力ごとに異なる値がある場合は、 を使用できますdata

$('#name1').focus(function() {
    var $this = $(this);

    $this.data("oldColor", $this.css("color"))
         .css("color", "blue");

}).blur(function() {
    var $this = $(this);

    $this.css("color", $this.data("oldColor"));
});
于 2012-04-23T19:18:23.517 に答える
0

以下を使用して、ベガが提案したことを実行しtoggleClass()ます。

$("#name1").focus(function() {
    $(this).toggleClass("inpFocus");
}).blur(function() {
    $(this).toggleClass("inpFocus");
});
于 2012-04-23T19:17:34.090 に答える