我有一个输入字段,其中包含span占位符。我想要做的是在单击输入字段时更改占位符的颜色。这是一个jsFiddle,有一个我的领域的例子。
最好的方法是什么?
答案 0 :(得分:5)
您可以为输入元素使用选择器,然后获取上一个范围。添加一个影响颜色的类。在模糊上删除课程。
$("span.holder + input").focus( function() {
$(this).prev('span.holder').addClass('active');
}).blur(function() {
$(this).prev('span.holder').removeClass('active');
});
现代浏览器已添加对placeholder
属性的支持。您只需添加placeholder="My Text"
作为输入属性,浏览器将根据需要自动插入/删除它。
答案 1 :(得分:1)
我知道这与您接近它的方式不同,但如果您要做的是删除焦点上的持有人文字,您可以随时使用this here
它的作用是从您的输入title
属性中读取文本,您在css中设置默认文本的颜色,然后在您聚焦/模糊时添加/删除文本,除非有值,然后用户值保留在那里而不是默认文本。
HTML
<input type="text" name="firstname" class="defaultText" title="First Name" />
CSS
input { margin: 10px; padding: 5px; }
.defaultTextActive { color: #000; }
的jQuery
$(".defaultText").focus(function(srcc) {
if ($(this).val() == $(this)[0].title) {
$(this).removeClass("defaultTextActive");
$(this).val("");
}
});
$(".defaultText").blur(function() {
if ($(this).val() == "") {
$(this).addClass("defaultTextActive");
$(this).val($(this)[0].title);
}
});
$(".defaultText").blur();