代码之家  ›  专栏  ›  技术社区  ›  LongInt

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

  •  0
  • LongInt  · 技术社区  · 10 年前

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

    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 回复  |  直到 10 年前
        1
  •  0
  •   Lyrkan    10 年前

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

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

    就是这样 Modernizr 做那项检查,在大多数情况下它是相当可靠的。

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