IE10如下兼容H5中的placeholder 以及改变它默认颜色

  placeholder是H5<input>的属性之一,惋惜在IE10如下不支持,万恶的IE!不过正由于有IE,才多了不少捣鼓,添了乐趣。不支持就不支持呗,本身动手丰衣足食,咱们能够用js模拟出 placeholder的效果。

javascript

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

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

二、代码实现html

//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"; } } }

三、usagejava

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

 

四、换个思路web

其实咱们用一个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的,只是捣鼓嘛,方法多多益善。this

 

五、placeholder的默认颜色为灰色,怎么改变颜色呢?spa

使用伪元素htm

::-webkit-input-placeholder { /* WebKit browsers */ 
color: #fff; 
} 
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ 
color: #fff; 
} 
::-moz-placeholder { /* Mozilla Firefox 19+ */ 
color: #fff; 
} 
:-ms-input-placeholder { /* Internet Explorer 10+ */ 
color: #fff; 
} 
相关文章
相关标签/搜索