解决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的效果。