2012-05-06 5 views
1

jQueryを使用して、入力フィールドにテキストが含まれているときに異なるCSSを使用しようとしています。しかし、テキストが削除されたときにCSSを元に戻すことはできません。jQueryの "change()"イベントの反対は何ですか?

入力フィールドのテキストが削除されたときに何かするjQueryイベントまたはJavascriptイベントはありますか?

+0

'change'イベントで入力の内容をチェックすることができます(空でも空でもない)。 – pimvdb

答えて

2

たぶん、あなただけに例

var track = function() { 

    if($(this).val().length){ 
     $(this).removeClass('empty').addClass('full'); 
    } else { 
     $(this).removeClass('full').addClass('empty');    
    } 
} 

$('input').keyup(track);​ 

ビットを追加するためのより多くのjavascriptのコードを必要とする:あなたはkeyUpイベントの長さを確認した場合、それはユーザーとして火災ます

http://jsfiddle.net/demee/63nz6/

+0

非常に良いアプローチ – MaYaN

0

は、テキストが削除されたときに、この

$("selector").change(function() { 
    if($(this).val() == "") { 
    // your code 
    } 
}) 
+2

いいえ、それはぼかし/フォーカスになります! – adeneo

+0

おそらく私は文句の権利をしなかったでしょう。私は以前にテキストを含む入力フィールドからテキストが削除されたときにだけトリガするイベントを探しています。 – Proffesor

1

change()も発生しますしてみてください。
値を確認して調べるだけです。

さらに反応が速い場合は、keyupinputも処理する必要があります。

+0

私は知っていますが、テキストが入力されたときには1つ、テキストが削除されるときには1つのことを実行する必要があります。 – Proffesor

+1

このようなイベントはありません。 – SLaks

0
$("#element").change(function(){ 
    if($(this).val() == "") { 
    // do here 
    } 
}); 
1
$("#elementID").on('change', function() { 

    if (this.value=="") { 
     //no text is present 
    }else{ 
     //element contains something 
    } 

}); 

change特定のイベントの唯一の火災は、ぼかしのように、それはよりダイナミックにするためにkeyupchangeを置き換えることを検討します。

0

打ち込んでいる。

$(document).ready(function() { 
    $('#text').keyup(function() { 
     if($(this).val().length == 0) { 
      $(this).removeClass('filled_in'); 
     } else { 
      $(this).addClass('filled_in'); 
     } 
    }); 
});​ 

this jsFiddleで確認できます。

関連する問題