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

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

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

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

 

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

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

 

 2,核心方法

/***
 * convert Decimal str into hex(must be two bit,eg:02,f5)<br>
 *     '153'-->99
 * @param str
 */
to2Hex = function to2Hex(str) {
	var hex = parseInt(str).toString(16);
	if (hex.length === 1) {
		hex = '0' + hex;
	}
	return hex;
};

cssColor2Hex = function (cssColor) {
	var stringObj = cssColor.replace(/RGB[\s]*\(([\w,\s]+)\)[\s]*/i, "$1");
	//console.log(stringObj);
	var arr = stringObj.split(',');
	var r = com.whuang.hsj.trim(arr[0]);
	var g = com.whuang.hsj.trim(arr[1]);
	var b = com.whuang.hsj.trim(arr[2]);
	var rHex = to2Hex(r);
	var gHex = to2Hex(g);
	var bHex = to2Hex(b);
	return (rHex + gHex + bHex);
};
/***
 *
 * @param hexColor : #ccc
 * @param cssColor : [string]rgb(153, 153, 153)
 * @returns {boolean}
 */
compareColor = function compareColor(hexColor/*#789*/, cssColor/*rgb(153, 153, 153)*/) {
	if (typeof cssColor !== 'string') {
		return false;
	}
	if (hexColor === cssColor) {//IE8,jquery.css('color') will get '#ddd',but 'rgb(204, 204, 204)'
		return true;
	}
	if (com.whuang.hsj.startsWith(hexColor, '#')) {
		hexColor = hexColor.substr(1);//delete '#' in front
	}
	if (hexColor.length == 3) {
		hexColor = hexColor.substr(0, 1) + hexColor.substr(0, 1)
			+ hexColor.substr(1, 1) + hexColor.substr(1, 1) + hexColor.substr(2, 1) + hexColor.substr(2, 1);
	}
	var cssResult = cssColor2Hex(cssColor);
	return (cssResult === hexColor);
};

 在线demo:

http://123.57.250.51/static/js/form4_placehold_value.html

兼容IE7IE7以上,火狐,chrome

源代码见附件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值