在opera mini中检测到占位符属性,但未使用

时间:2014-04-01 08:28:44

标签: javascript html5 opera

我正在使用此代码检查是否支持占位符属性:

function placeholderIsSupported() {
        var test = document.createElement('input');
        return typeof test.placeholder !== 'undefined';
    }

如果支持占位符属性,我会在代码中隐藏标签:

//Remove labels, if the placeholder attribute is supported
    if (placeholderIsSupported()) {
        labels = document.getElementsByTagName("label");

        for (i = 0; i < labels.length; i++)
        {
            labels[i].style.display = "none";
        }
    }

然而,在Opera Mini 7.5 for Android中,标签是隐藏的,即使不支持占位符也是如此。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

不确定是否有帮助,但您可以尝试以下方法:

'placeholder' in document.createElement('input') && 'placeholder' in document.createElement('textarea');

Modernizr进行检查的方式,并且在大多数情况下都非常可靠。

无论如何,我认为你不应该重新发明轮子,有some polyfills可以为你完成这项工作。