我正在尝试使用 jQuery 使输入字段在包含文本时具有不同的 CSS。但是当文本被删除时,我无法让它改回 CSS。
当输入字段中的文本被删除时,是否有任何 jQuery 或 Javascript 事件会执行某些操作?
我正在尝试使用 jQuery 使输入字段在包含文本时具有不同的 CSS。但是当文本被删除时,我无法让它改回 CSS。
当输入字段中的文本被删除时,是否有任何 jQuery 或 Javascript 事件会执行某些操作?
也许您只需要添加更多的 javascript 代码
var track = function() {
if($(this).val().length){
$(this).removeClass('empty').addClass('full');
} else {
$(this).removeClass('full').addClass('empty');
}
}
$('input').keyup(track);
示例:
change()
删除文本时也会触发。
您只需要检查该值即可找出答案。
为了更直接的反应,您还应该处理keyup
和input
。
$("#elementID").on('change', function() {
if (this.value=="") {
//no text is present
}else{
//element contains something
}
});
change
只会在某些事件上触发,例如模糊,考虑替换change
为keyup
使其更具动态性。
尝试这个
$("selector").change(function() {
if($(this).val() == "") {
// your code
}
})
$("#element").change(function(){
if($(this).val() == "") {
// do here
}
});
如果您检查 keyup 的长度,那么它将在用户键入时触发。
$(document).ready(function() {
$('#text').keyup(function() {
if($(this).val().length == 0) {
$(this).removeClass('filled_in');
} else {
$(this).addClass('filled_in');
}
});
});
你可以在这个 jsFiddle中看到它的作用。