与jQuery“change()”事件相反的是什么?

时间:2012-05-06 14:40:26

标签: javascript jquery css

我正在尝试使用jQuery使输入字段在包含文本时具有不同的CSS。但是,当文本被删除时,我无法让它改回CSS。

当输入字段中的文本被删除时,是否有任何jQuery或Javascript事件可以执行某些操作?

6 个答案:

答案 0 :(得分:2)

也许你只需要添加更多的javascript代码

var track = function() {

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

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

示例:

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

答案 1 :(得分:1)

删除文本时,

change()也会触发 您只需要检查值即可找到。

要立即做出反应,您还应该处理keyupinput

答案 2 :(得分:1)

$("#elementID").on('change', function() {

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

});

change只会触发某些事件,例如模糊,请考虑将change替换为keyup,以使其更具动态性。

答案 3 :(得分:0)

试试这个

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

答案 4 :(得分:0)

$("#element").change(function(){
  if($(this).val() == "") {
    // do here
  }
});

答案 5 :(得分:0)

如果您检查密钥的长度,则会在用户输入时触发。

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

您可以在this jsFiddle中看到它。