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

作者:norion时间:2012年4月11日评论次数:0 条

近来忙在做公司的事情,下班没啥时间研究新东西,曾经在一个音乐电台听过那主持人才在调侃:“如果有人问青春是什么,青春就是拿我们最宝贵的东西去换我们最想要的东西”,这还真被太说中了。

题外话说多了,下面来说这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的方法。

标签:

上一篇: 简单的例子看出i++和++i的区别

下一篇:“jQuery实现Placeholder跨浏览器兼容问题”的改进

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注