2

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

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

4

6 回答 6

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/

于 2012-05-06T14:49:59.283 回答
1

change()删除文本时也会触发。
您只需要检查该值即可找出答案。

为了更直接的反应,您还应该处理keyupinput

于 2012-05-06T14:43:02.497 回答
1
$("#elementID").on('change', function() {

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

});

change只会在某些事件上触发,例如模糊,考虑替换changekeyup使其更具动态性。

于 2012-05-06T14:44:05.483 回答
0

尝试这个

$("selector").change(function() {
  if($(this).val() == "") {
   // your code
  }
})
于 2012-05-06T14:41:37.600 回答
0
$("#element").change(function(){
  if($(this).val() == "") {
    // do here
  }
});
于 2012-05-06T14:43:55.180 回答
0

如果您检查 keyup 的长度,那么它将在用户键入时触发。

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

你可以在这个 jsFiddle中看到它的作用。

于 2012-05-06T15:51:19.180 回答