实现跨浏览器的placeholder,兼容IE7

1,首先规定一下placeholder的规则

(1)文本框无内容失去焦点时,显示placeher的文字(一般是灰色字体);

(2)文本框聚焦时(还没有输入内容),placeher将消失,即文本框空白

 

(3)文本框输入内容时,placeholder也消失;

(4)文本框失去焦点时若有内容,则不显示placeholder

 

 2,核心方法

Js代码  

  1. /*** 
  2.  * convert Decimal str into hex(must be two bit,eg:02,f5)<br> 
  3.  *     '153'-->99 
  4.  * @param str 
  5.  */  
  6. to2Hex = function to2Hex(str) {  
  7.     var hex = parseInt(str).toString(16);  
  8.     if (hex.length === 1) {  
  9.         hex = '0' + hex;  
  10.     }  
  11.     return hex;  
  12. };  
  13.   
  14. cssColor2Hex = function (cssColor) {  
  15.     var stringObj = cssColor.replace(/RGB[\s]*\(([\w,\s]+)\)[\s]*/i, "$1");  
  16.     //console.log(stringObj);  
  17.     var arr = stringObj.split(',');  
  18.     var r = com.whuang.hsj.trim(arr[0]);  
  19.     var g = com.whuang.hsj.trim(arr[1]);  
  20.     var b = com.whuang.hsj.trim(arr[2]);  
  21.     var rHex = to2Hex(r);  
  22.     var gHex = to2Hex(g);  
  23.     var bHex = to2Hex(b);  
  24.     return (rHex + gHex + bHex);  
  25. };  
  26. /*** 
  27.  * 
  28.  * @param hexColor : #ccc 
  29.  * @param cssColor : [string]rgb(153, 153, 153) 
  30.  * @returns {boolean} 
  31.  */  
  32. compareColor = function compareColor(hexColor/*#789*/, cssColor/*rgb(153, 153, 153)*/) {  
  33.     if (typeof cssColor !== 'string') {  
  34.         return false;  
  35.     }  
  36.     if (hexColor === cssColor) {//IE8,jquery.css('color') will get '#ddd',but 'rgb(204, 204, 204)'  
  37.         return true;  
  38.     }  
  39.     if (com.whuang.hsj.startsWith(hexColor, '#')) {  
  40.         hexColor = hexColor.substr(1);//delete '#' in front  
  41.     }  
  42.     if (hexColor.length == 3) {  
  43.         hexColor = hexColor.substr(0, 1) + hexColor.substr(0, 1)  
  44.             + hexColor.substr(1, 1) + hexColor.substr(1, 1) + hexColor.substr(2, 1) + hexColor.substr(2, 1);  
  45.     }  
  46.     var cssResult = cssColor2Hex(cssColor);  
  47.     return (cssResult === hexColor);  
  48. };  
时间: 2024-08-22 14:56:12

实现跨浏览器的placeholder,兼容IE7的相关文章

跨浏览器的placeholder

 如何实现跨浏览器的placeholder效果呢?  先看下效果     js代码如下:   Js代码   $('#username').placeholder({           word: '用户名', color: '#ddd', normalFontColor: '#f00', maxLen: 4, minLen: 2, errorBorderClass: 'errorBorder',           keyup_callback: function () {          

跨浏览器的placehold

如何实现跨浏览器的placeholder效果呢? 先看下效果 js代码如下: $('#username').placeholder({ word: '用户名', color: '#ddd', normalFontColor: '#f00', maxLen: 4, minLen: 2, errorBorderClass: 'errorBorder', keyup_callback: function () { console.log('keyup_callback'); } }); $('#pas

解决Flexbox跨浏览器兼容Bug

早在2013年9月,我在测试我的Solved by Flexbox项目时,在IE10和IE11中发现了一个Bug,就是Sticky footer实际上不会粘贴在页面的底部.我花了很多时间来解决这个问题,但始终没有成功. 起初,我真的很生气.在Flexbox出现之前,如果在不知道页脚的确切尺寸情况之下,要使用纯CSS来实现Sticky Footer的效果是不太可能.Flexbox改变了这一切,可以使用CSS解决这个问题. 失望之后,我最终得出一个结论,这不是什么大不了的事情.我的意思是,从渐进增强

跨浏览器兼容测试有关的大量资源

跨浏览器是所有网页设计师都会碰到的常见问题,当完成一个页面后,经常会要测试IE,FF等多种常用浏览器软件.有时候客户也会要求兼容更多浏览器,当电脑里没有安装这类浏览器时就会显得很麻烦,所以推荐那些为跨浏览器测试范畴的网页设计师可以阅读下本文 我们生活在一个幸福又痛苦的时代,有太多的浏览器可以使用,对 Web 开发与设计者而言,你有义务保证你的设计兼容所有主流浏览器.然而跨浏览器测试是件相当复杂的事,涉及不同的浏览器,不同的版本,不同的平台.本文介绍了与跨浏览器兼容测试有关的大量资源. 在线测试资

跨浏览器兼容测试8大利器

中介交易 SEO诊断 淘宝客 云主机 技术大厅 仅仅是一年前,跨浏览器兼容测试还不是一件容易事,市面上的测试工具都有一些缺陷,要么太贵,要么功能有限,要么很难用.最近我们终于看到了一些新 的工具出现,其中的一些可谓十分出色.本文精选8种最新的跨浏览器测试工具,这7款简单的工具让你的工作变得十分容易,而且它们完全免费. #1 - Xenocode Browser Sandbox Xenocode Browser Sandbox 改变了基于 Windows 的浏览器兼容测试工具的游戏规则,只需点一下

编写跨浏览器兼容的 CSS代码的金科玉律

作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是很容易实现的,本文讲的是各种跨浏览器兼容的 CSS 编码准则和技巧. 理解 CSS 盒子模型 如果你想实现不需要很多奇巧淫技的跨浏览器兼容的 CSS 代码,透彻地理解 CSS 盒子模型是首要事情,CSS 盒子模型并不难,且基本支持所有浏览器,除了某些特定条件下的 IE 浏览器. CSS 盒子模型负责

解决跨浏览器兼容的CSS编码准则

浏览器越来越多,也就意味着做web前端开发的就越困难.现在的浏览器的内核都同,对于css的兼容也会有一定的差别!以前讲的用css hack来也不是一件容易的事,用过多的css hack来兼容也会出现许多臃肿的代码:所以掌握一些跨浏览器兼容的css编码准则是非常有必要的. 第一:理解css盒子模型(学习div+css布局也是很重要的,学会的css的盒子模型学习div+css也就不难了) 透彻地理解 CSS 盒子模型是首要事情,CSS 盒子模型并不难,且基本支持所有浏览器,除了某些特定条件下的 IE

Flexbox跨浏览器兼容Bug解决方法

在IE10和IE11中发现了一个Bug,就是Sticky footer实际上不会粘贴在页面的底部.我花了很多时间来解决这个问题,但始终没有成功. 起初,我真的很生气.在Flexbox出现之前,如果在不知道页脚的确切尺寸情况之下,要使用纯CSS来实现Sticky Footer的效果是不太可能.Flexbox改变了这一切,可以使用CSS解决这个问题. 失望之后,我最终得出一个结论,这不是什么大不了的事情.我的意思是,从渐进增强的角度来看,我的解决方案还是相当不错的.虽然它在IE并不完美,但不至于坏得

使用 PostCSS 跨浏览器兼容教程

这里我们将使用PostCSS创建一个跨浏览器兼容性的样式表.我们将要做的: 有前缀的自动添加前缀添加一系列的IE版本,回退到IE8.IE9和IE10为没有支持的属性添加will-change属性 设置项目 你需要做的第一件事情就是使用Gulp或Grunt设置您的项目.如果你没有一个完美的项目模板,我建议你使用Gulp,可以使用较少的代码来达到相同的目的. 你可以阅读前面有关于Gulp或Grunt创建PostCSS项目的教程:     PostCSS深入学习:Gulp设置    PostCSS深入