jQuery:在用户开始键入后更改输入值颜色
我有一个表单输入,里面有示例搜索关键字 当用户聚焦输入时,文本消失,如果输入中没有任何内容,则文本在未聚焦时重新出现 这一切都很好,效果也很好,但我想做的是让示例文本变灰,然后在用户实际键入时使用正常的纯色 下面是我目前使用的代码。任何帮助都会很好jQuery:在用户开始键入后更改输入值颜色,jquery,forms,input,Jquery,Forms,Input,我有一个表单输入,里面有示例搜索关键字 当用户聚焦输入时,文本消失,如果输入中没有任何内容,则文本在未聚焦时重新出现 这一切都很好,效果也很好,但我想做的是让示例文本变灰,然后在用户实际键入时使用正常的纯色 下面是我目前使用的代码。任何帮助都会很好 $(function() { $('input').each(function() { $.data(this, 'default', this.value); }).focus(function() { if (!$.data(th
$(function() {
$('input').each(function() {
$.data(this, 'default', this.value);
}).focus(function() {
if (!$.data(this, 'edited')) {
this.value = "";
}
}).change(function() {
$.data(this, 'edited', this.value != "");
}).blur(function() {
if (!$.data(this, 'edited')) {
this.value = $.data(this, 'default');
}
});
});
使用.css()
将颜色
样式添加到输入
使用.css()
将颜色
样式添加到您的输入
中,如下所示
$(function() {
$('input').each(function() {
$.data(this, 'default', this.value);
}).css("color","gray")
.focus(function() {
if (!$.data(this, 'edited')) {
this.value = "";
$(this).css("color","black");
}
}).change(function() {
$.data(this, 'edited', this.value != "");
}).blur(function() {
if (!$.data(this, 'edited')) {
this.value = $.data(this, 'default');
$(this).css("color","gray");
}
});
});
只需先将其设置为灰色,然后在聚焦时将其设置为黑色,如果再次设置默认文本,则将其设置为灰色。像这样吗
$(function() {
$('input').each(function() {
$.data(this, 'default', this.value);
}).css("color","gray")
.focus(function() {
if (!$.data(this, 'edited')) {
this.value = "";
$(this).css("color","black");
}
}).change(function() {
$.data(this, 'edited', this.value != "");
}).blur(function() {
if (!$.data(this, 'edited')) {
this.value = $.data(this, 'default');
$(this).css("color","gray");
}
});
});
只需先将其设置为灰色,然后在聚焦时将其设置为黑色,如果再次设置默认文本,则将其设置为灰色。我建议使用类似labelOver的插件,而不是将输入的文本和样式弄乱
我建议使用像labelOver这样的插件,而不是乱搞输入的文本和样式 HTML5中有placeholder=“something”属性。你会说, 我认为这是最好的答案,因为Jquery不需要这样做。HTML5中有placeholder=“something”属性。你会说, 我认为这是最好的答案,因为Jquery不需要这样做