zoukankan      html  css  js  c++  java
  • 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的,只是捣鼓嘛,方法多多益善。

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

    使用伪元素

    ::-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; 
    } 
    

      

     

  • 相关阅读:
    VC++:创建,调用Win32静态链接库
    VC++:创建,调用Win32动态链接库
    C++生成和解析XML文件
    C++实现16进制字符串转换成int整形值
    一个好隐蔽的C/C++代码bug
    【C++札记】标准模板库string
    Rabbitmq C++客户端 Rabbitmq Client
    C++:标准模板库map
    C++:标准模板库vector
    C++:标准模板库(STL)
  • 原文地址:https://www.cnblogs.com/leaf930814/p/6931400.html
Copyright © 2011-2022 走看看