解决ie8下面placeholder显示问题

今天测试反馈一个bug,需要在ie8下面看到placeholder提示,开始的想法是对ie8进行降级处理,在ie8下面就不显示了。

现在测试反馈了,解决办法。

  function isLowIE() {
        if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/7./i) == "7.") {
            return true;
        }
        else if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/8./i) == "8.") {
            return true;
        }
        else if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/9./i) == "9.") {
            return true;
        }
        else if (navigator.appName == "Microsoft Internet Explorer") {
            return true;
        } else {
            return false;
        }
    }
    if (isLowIE()) {
        $("input").each(function (index, item) {
            var placeholder = $(this).attr("placeholder");
            $(this).val(placeholder);
        })
    }

思路是这样的,首先判断是否为ie9以下的浏览器。

如果是的话,提取他的placeholder属性,然后赋值给value;

如果想要做的更完美的话,可以定位一个元素在input上面,input获取焦点的时候隐藏该焦点来模拟placeholder的效果。

原文地址:https://www.cnblogs.com/kugeliu/p/7798912.html