jquery实现简单的Placeholder跨浏览器兼容问题

作者:沙师弟时间:2012-04-27
近来忙在做公司的事情,下班没啥时间研究新东西,曾经在一个音乐电台听过那主持人才在调侃:“如果有人问青春是什么,青春就是拿我们最宝贵的东西去换我们最想要的东西”,这还真被太说中了。 题外话说多了,下面来说这Placeholder跨浏览器兼容的问题,当然这个是根据我的理解方式来写的,不如意处还请拍砖:
var searchValue = "请输入搜索关键词";
if ( !( 'placeholder' in document.createElement('input') ) ){
	jQuery("#search").removeAttr("placeholder").val(searchValue).bind("focus",function(){
		if (this.value==searchValue){this.value="";};
	}).bind("blur",function(){
		if (this.value==""){this.value=searchValue;};
	});
}else{
	jQuery("#search").bind("focus",function(){
		if ( jQuery(this).attr('placeholder') == searchValue ){ jQuery(this).attr('placeholder','') };
	}).bind("blur",function(){
		if ( jQuery(this).attr('placeholder','') ){ jQuery(this).attr('placeholder',searchValue) };
	});
}
其中关键是一句是用!( 'placeholder' in document.createElement('input')来判断当前的浏览器是否支持placeholder,不支持就调用最传统的设置value的方法。