IE10以下兼容H5中的placeholder

Posted leaf930814

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE10以下兼容H5中的placeholder相关的知识,希望对你有一定的参考价值。

  placeholder是H5<input>的属性之一,可惜在IE10以下不支持,万恶的IE!不过正因为有IE,才多了很多捣鼓,添了乐趣。不支持就不支持呗,自己动手丰衣足食,我们可以用js模拟出 placeholder的效果。

1、判断浏览器是否支持 placeholder属性

"placeholder" in document.createElement("input")  //false就不支持哦

2、代码实现

//html
<input type="text" id="signName" placeholder="请输入用户名"/> //js var placeHolder = function(ele){ if(ele && !("placeholder" in document.createElement("input"))){ //元素里面的属性值复制给pleaceHolder; placeholder = ele.getAttribute("placeholder"); ele.onfocus = function(){ if(this.value === placeholder){ this.value = ""; } this.style.color = ""; } ele.onblur = function(){ if(this.value === ""){ this.value = placeholder; this.style.color = "gray"; } }; if(ele.value === ""){ ele.value = placeholder; ele.style.color = "gray"; } } }

3、usage

placeHolder(document.getElementById("signName"));

 

4、换个思路

其实我们用一个span元素模拟placehoder的效果

<div class="search_box topSearch">
        <input type="text" name="search_key">
        <i class="search_icon"></i>
        <span class="place_holder">请输入查找的信息</span>
</div>

通过添加css模拟出placeholder的样式,再通过js去控制span元素和placeholder一样的效果,也是OK的,只是捣鼓嘛,方法多多益善。

 

 

以上是关于IE10以下兼容H5中的placeholder的主要内容,如果未能解决你的问题,请参考以下文章

placeholder不兼容 IE10 以下版本的解决方法

兼容ie10以下版本的placeholder属性

jquery.placeholder.js解决IE8兼容h5中input属性placeholder属性

placeholder兼容性问题

placeholder兼容IE8解决方案

兼容placeholder