0

我正在为我的一个项目使用 HTML5。在那里我使用输入占位符属性来显示一些默认文本。它在 IE 中不起作用。有什么解决办法吗?

4

7 回答 7

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; }
        }
    }
}
于 2013-08-05T17:44:33.407 回答
2

在 IE 10 之前不支持占位符。

http://caniuse.com/#feat=input-placeholder

您可以在 IE 中使用polyfill来支持它。

于 2013-08-05T17:36:52.450 回答
0

请参阅此线程上的最佳答案,因为它有一个很好的解释: Internet Explorer 的输入占位符

于 2013-08-05T17:38:00.033 回答
0

旧版本的 IE 不支持 html 占位符。因此,您将需要使用像Placeholder.js这样的 javascript 解决方案。它会自动检测输入元素中的占位符属性,并利用跨浏览器解决方案来显示它们。

于 2013-08-05T17:39:23.907 回答
0

使用jQuery 占位符。在 Internet Explorer 10 之前,标准 HTML5 声明不支持 HTML5 占位符。

于 2013-08-05T17:39:49.953 回答
0

尝试Placeholders.js

它重量轻,在 IE 6 中也能很好地工作

于 2014-01-01T18:37:08.393 回答
0

替代选项是在 IE < 10 上显示“名称:”文本

<!--[if lt IE 10]><style>.show-ie{display:block;}</style><![endif]-->
于 2015-01-19T22:43:23.313 回答