我正在使用HTML5作为我的一个项目。我在使用输入占位符属性来显示一些默认文本。它不适用于IE。对此有何解决方案?
答案 0 :(得分:3)
如果您在项目中使用javascript,则可以添加此代码,它将通过javascript为您的输入提供占位符。
function supports_input_placeholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}
if (!supports_input_placeholder()) {
var fields = document.getElementsByTagName('INPUT');
for (var i = 0; i < fields.length; i++) {
if (fields[i].hasAttribute('placeholder')) {
fields[i].defaultValue = fields[i].getAttribute('placeholder');
fields[i].onfocus = function () { if (this.value == this.defaultValue) this.value = ''; }
fields[i].onblur = function () { if (this.value == '') this.value = this.defaultValue; }
}
}
}
答案 1 :(得分:2)
答案 2 :(得分:0)
请参阅此主题的最佳答案,因为它有一个非常好的解释: Input placeholders for Internet Explorer
答案 3 :(得分:0)
较早版本的IE不支持html占位符。因此,您需要使用Placeholder.js之类的JavaScript解决方案。它会自动检测输入元素中的占位符属性,并使用跨浏览器解决方案来显示它们。
答案 4 :(得分:0)
使用jQuery placeholder。在Internet Explorer 10之前,标准HTML5声明不支持HTML5占位符。
答案 5 :(得分:0)
重量轻,在IE 6中运行良好
答案 6 :(得分:0)
替代选项是在IE上显示“name:”文本&lt; 10
<!--[if lt IE 10]><style>.show-ie{display:block;}</style><![endif]-->