<input id="edit-name" type="text" class="name"/>
光标聚焦在文本中并且没有输入字符然后失去焦点,给出提示(请输入名称)
光标在文本框中聚焦,然后在文本框中键入一个字符,删除错误消息。
我的代码:
$('#edit-name').focus(function(){
if($(this).val()!=''){
$('.error-message').remove();
}
});
$('#edit-name').blur(function(){
if($(this).val()==''){
$('.error-message').remove();
$('#edit-name').after('<span style="color:red;" class="error-message" >please enter the name!</span>');
}
});
我的代码有问题吗?虽然我在文本框中输入了一个字符,但错误消息仍然存在,除非光标再次聚焦在文本中。
答案 0 :(得分:0)
您正在使用模糊,这意味着如果您没有输入任何内容,它将显示工具提示。但是,您的问题表明您想要
光标聚焦在文本中并且没有输入字符,给出提示(请输入名称)
这意味着需要关注焦点,如else
条件。这样的东西就是你要找的东西:
$('#edit-name').on('focus change', function(){
if($(this).val()!=''){
$('.error-message').remove();
} else {
// what you're doing in the blur function
}
});
只要我专注于输入框,我就会看到工具提示。 change
确保只要我输入内容,工具提示就会消失。
PS - 除非我弄错了,你确实希望工具提示出现在模糊处。在这种情况下,请忽略此答案。