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

  

 

IE10以下兼容H5中的placeholder 以及改变它默认颜色的更多相关文章

  1. 修改 input中的placeholder的字体样式和颜色

    placeholder属性是css3中新增加的属性, 由于是新加入的属性因此对各大浏览器都不兼容: 因此在使用的时候要加兼容性 火狐:-moz-placeholder { /* Mozilla Fir ...

  2. 如何在Azure Websites中配置PHP从而改变系统默认时区

    Shirley_Wang  Tue, Mar 3 2015 7:29 AM Azure Website为我们提供了可高度扩展的网站部署平台.由于Website是PaaS(平台即服务)层的服务,当用户把 ...

  3. Silverlight 查询DataGrid 中匹配项 ,后台改变选中行颜色

    需求:根据关键字(参会人号码或名称)查找参会人,在datagird 中高亮显示 界面:我在界面上增加了一个文本框和按钮,进行查找操作 操作说明: 根据关键字进行搜索:输入关键字 点击查找,如果找到 以 ...

  4. vs 中怎么用c改变部分字体颜色

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include< ...

  5. h5页面,改变数字默认颜色

    最近遇到一个非常变态的bug,有一串数字,我设置color为白色,在pc端浏览器,无变化,但是到了手机端,会由白色跳成黑色,我无解啊... 刚刚找到方法,如下: <meta name=" ...

  6. 修改输入框placeholder文字默认颜色-webkit-input-placeholder

    html5为input添加了原生的占位符属性placeholder,高级浏览器都支持这个属性,例如: <input type="text" placeholder=" ...

  7. 【css】修改placeholder 默认颜色

    html5为input添加了原生的占位符属性placeholder,高级浏览器都支持这个属性,例如: <input type="text" placeholder=" ...

  8. 【原】迎接微信winphone 5.0 版本的IE10样式兼容

    微信 Android 5.1 和 iPhone 5.1 已正式发布了,据说本12月底,微信将推出 Winphone 5.0版本,全面支持微信支付,它绑定 IE10 浏览器,那么做微信公众号的 H5 页 ...

  9. 兼容IE浏览器的placeholder【超不错】

    jQuery EnPlaceholder plug (兼容IE浏览器的placeholder)使用 >>>>>>>>>>>>&g ...

随机推荐

  1. python入门(14)定义函数和接收返回值

    定义函数: 定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 如果没有return语句,函数执行完毕 ...

  2. Couchbase忘记登录密码怎么办

    以下都为root用户操作: 1.先关闭couchbase /opt/couchbase/etc/couchbase_init.d stop 2.切换到下面的路径,删除这个目录下除logs的所有文件,按 ...

  3. Go语言的核心Routine-Channel

    前言 Go语言通过routine,提供了并发编程的支持. Routine特性 (1) goroutine是Go语言运行库的功能,不是操作系统提供的功能,goroutine不是用线程实现的. 例:启动一 ...

  4. Linux show funny time[ liunx 有趣的东西展示]

    Linux show funny time 1.sl 奔跑吧,火车! nick-suo@ubuntu:~$ sudo apt-get install sl 2.telnet 星球大战 nick-suo ...

  5. c# IPC实现本机进程之间的通信

    IPC可以实现本地进程之间通信.这种用法不是太常见,常见的替代方案是使用wcf,remoting,web service,socket(tcp/pipe/...)等其他分布式部署方案来替代进程之间的通 ...

  6. Struts(十四):通用标签-form表单

    form标签是struts2标签中一个重要标签: 可以生成html标签,使用起来和html的form标签差不多: Strut2的form标签会生成一个table,进行自动布局: 可以对表单提交的值进行 ...

  7. cuda小白基础教程

    一直很想做cuda-GPU编程,很早就将CUDA9.0安装好了,后面就没怎么管它,忙别的去了.敲黑板,划重点,我科研还是很努力的,可是很多人看不见罢了.之前一直在使用粒子方法进行流体模拟,计算时间极其 ...

  8. laypage分页控件使用方法

    laypage是一款非常简单易用的分页控件,由于最近项目中使用到了,简单记录一下使用方法 1.引入laypage所需的js和css文件 <link href="js/laypage/1 ...

  9. 技巧:如何提升Oracle用户密码的安全性

    环境:Oracle 11.2.0.4 客户需求:主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户 ...

  10. 两个css之间的切换

    需求: 头部两个按钮 两种样式之间的切换 解决办法: 结合JQ  三目运算 来处理 第一步: 把需要切换的样式设置为样式里背景,这样做的目的为了避免 js里出现过多 css代码 二来这样会显得更加的清 ...