【发布时间】:2014-02-12 10:54:20
【问题描述】:
与question 有类似的问题
在我的表单验证失败后,占位符文本在所有浏览器中都很好,但在 IE8 中消失了。最初 IE8 没有显示占位符,所以我使用此修复来填充占位符
$('[placeholder]')
.focus(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
})
.blur(function () {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
})
.blur();
$('[placeholder]').parents('form').submit(function () {
$(this).find('[placeholder]').each(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
我应该首先使用不同的占位符修复/填充?还是有办法解决这个问题?
【问题讨论】:
-
最好不要在不支持它的浏览器上使用占位符。无论如何,使用占位符不应该意味着您不必使用某种描述性标签来向用户输出相关信息,这不是占位符的目标。考虑可访问性
-
设计不包括标签,必须使用占位符,今天早上上线
-
所以我的老板会说它设计得很糟糕......你当然可以不同意:)
-
我同意 :) 对于情人节来说,这是一项紧急工作,所以没有太多时间进行更好的设计
标签: jquery forms internet-explorer-8 placeholder polyfills