今天在写页面的时候,测试低版本浏览器时,发现input写的placeholder显示的是空白,所以特意写了一个普遍试用的方法来让低版本浏览器支持这个属性。

  博主建了一个技术共享qq群:,因为目前人数还比较少,活跃度还不是很高,希望有和我一样想法的,有志于技术共享的技术宅,富有逗比精神的程序猿能一起加入,一起探讨和分享,一起创造更大的进步。当然,妹纸程序猿更受欢迎哟。^_^

  一般情况下,我们解决这个问题呢会使用下面这种方法。

 <input onfocus="if (value =='点击文字消失'){value =''}" onblur="if (value ==''){value='点击文字消失'}" />

这样实现的特别累赘,并且用户体验也不好。并且每个input都得加,这样的代码看起来就会很像一坨shit。

  让整个页面都支持placeholder属性,只需要在input里面添加placeholder属性即可,这样才是王道。不废话了,不理解的加qq群。直接上代码。

  

   /**
* Created By Steven
* @author zhuttymore@126.com
*/
$(document).ready(function(){ $(':input').each(function(key,val){
if(typeof ($(this).attr('placeholder')) != 'undefined'){
var placeholder = $(val).attr('placeholder');//获取placeholder属性
$(this).css('color','#999');
$(this).val(placeholder); $(this).focus(function(){
if($(this).val() == placeholder){
$(this).val('');
$(this).css('color','inherit');
}
}); $(this).blur(function(){
if($(this).val() == ''){
$(this).val(placeholder);
$(this).css('color','#999');
}else{
$(this).css('color','inherit');
}
});
}
});
});

  遍历所有input元素,添加focus和blur事件,并根据用户输入情况随时改变字体颜色,这样用户体验更佳。不过呢,这样会有一个bug, 就是在验证表单是否为空时会没有效果。目前我给的解决方案是判断它的值不等于placeholder的值。代码如下:

  

  if($('#name').val()==''|| $('#name').val() === $('#name').attr('placeholder')){
layer.tips('不可以空', '#name', {
tips: [1, '#f66200'],
time: 4000
});
return false; }

  额,好吧,其实$('#name').val()==''相当于是一句废话了。哈哈哈哈。。。。         ^_^   ps: 欢迎加群吐槽。

原创作品,转载请保留原文,注明出处。http://zhutty.cnblogs.com

[原创]Web前端开发——让ie 7 8支持表单的placeholder属性的更多相关文章

  1. [读书笔记] Web 前端开发修炼之道

    原创地址:http://www.cnblogs.com/bnbqian/p/3735565.html 转载请注明出处 今天我们要读的书是Web 前端开发修炼之道 第1章 从网站重构说起 1.1 糟糕的 ...

  2. 《编写高质量代码--Web前端开发修炼之道》读书笔记

    前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...

  3. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

  4. 你真的了解Web前端开发吗?未来前端远比你想的有前途!

    近几年来,随着 HTML5.JS 的流行,前端这个职业火热了起来!不少人发出疑惑,前端以后还会更有前途吗? 我只能告诉你:前端不灭 现在都明白了用户体验至上,还要用着舒服 后端提供床,前端提供颜值高的 ...

  5. WEB前端开发职业学习路线初级完整版

    作者 | Jeskson 来源 | 达达前端小酒馆 下面小编专门为广大web前端开发职业者汇总了学习路线初级完整版,其实web前端开发工程师可算是高福利,高薪水的职业了,所以现在学习web前端开发的技 ...

  6. web前端开发分享-目录

    1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...

  7. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  8. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  9. 4. web前端开发分享-css,js工具篇

    web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...

随机推荐

  1. Swift开放StatsD后上传数据的出现,出现退换货503的Bug

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/40781569 swift在版本号2.1.0之前假设各个服务的配置文件里打开下面配置后,且系统 ...

  2. Log4net日志组件使用

    一.简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日 ...

  3. java 线程池的用法

    1.java自带的类ExecutorService用于提供线程池服务,可以一下方法初始化线程池: ExecutorService pool = Executors.newFixedThreadPool ...

  4. C#操作iframe

    <iframe id="cl" name="clf" src="xianshi.aspx" runat="server&qu ...

  5. 如何发布Web项目到互联网

    比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好: 我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat: 然后我 ...

  6. 关于vis标记

    原来写题目的时候对vis标记都是先memset在标记,今天看见一个只要每次对T值修改,然后看看等不等于T就可以了,真好!

  7. title滚动

    代码: <html><head><title>滚动的文字在TITLE栏上不停滚动</title><script language=javascri ...

  8. 服务器是windows时tomcat无法打印所有日志配置修改

    Tomcat运行仅一天磁盘空间突然就增加了很多,发现是日志文件太大了,修改tomcat的日志配置即可. 查看目录所占空间大小: ? 1 [root@XXX webapps]du -sh 清理方法: ? ...

  9. jQuery ajax传递特殊字符串问题

    当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,如“+”表示连接符,在转义后你获取到的就是空格.可以看看这些特殊 ...

  10. 测试一下PHP官方的新一代PHP加速插件ZendOpcache的性能及配置

    过程不表,都比较顺利 参考如下URL: http://www.lvtao.net/server/ZendOpcache.html 大家知道目前PHP的缓存插件一般有三个:APC.eAccelerato ...