html5中文学习网

您的位置: 首页 > html5教程 > 入门教程 » 正文

HTML5 placeholder(空白提示)属性介绍_html5教程技巧

[ ] 已经帮助:人解决问题
点评:浏览器引入了许多的HTML5 特性其中我最喜欢的一个就是为input元素引入了placeholder属性,placeholder属性显示引导性文字直到输入框获取输入焦点,当有了用户输入内容后引导性内容将会自动隐藏
原文地址:HTML5′s placeholder Attribute D3gHTML5中文学习网 - HTML5先行者学习网
演示地址: placeholder演示 D3gHTML5中文学习网 - HTML5先行者学习网
原文日期: 2010年08月09日 D3gHTML5中文学习网 - HTML5先行者学习网
翻译日期: 2013年8月6日 D3gHTML5中文学习网 - HTML5先行者学习网
浏览器引入了许多的HTML5 特性: 有些是基于HTML的,有些是JavaScript APIs形式的,但都很有用。其中我最喜欢的一个就是为input元素引入了placeholder属性。 D3gHTML5中文学习网 - HTML5先行者学习网
placeholder属性显示引导性文字直到输入框获取输入焦点,当有了用户输入内容后引导性内容将会自动隐藏。你肯定见过用JavaScript实现的这种技术成千上万次了,但是来自HTML5的原生支持一般来说会更好一些。 D3gHTML5中文学习网 - HTML5先行者学习网
HTML 代码 如下: D3gHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
D3gHTML5中文学习网 - HTML5先行者学习网
<input type="text" name="address" placeholder="请输入常住地址..."> D3gHTML5中文学习网 - HTML5先行者学习网
D3gHTML5中文学习网 - HTML5先行者学习网
你要做的仅仅是添加一个placeholder属性域,以及一些引导性的文字内容,不需要额外的JavaScript脚本来实现这种效果,是不是感觉很棒? D3gHTML5中文学习网 - HTML5先行者学习网
测试 placeholder 的支持度 D3gHTML5中文学习网 - HTML5先行者学习网
(注意这是2010年的文章,到现在,2013年,主流浏览器应该都支持了.) D3gHTML5中文学习网 - HTML5先行者学习网
既然 placeholder 是一个新的功能,那么测试浏览器的支持是很有必要的。JS代码如下: D3gHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
D3gHTML5中文学习网 - HTML5先行者学习网
// 在JS中创建一个input元素,并判断元素有没有一个叫做placeholder的属性 D3gHTML5中文学习网 - HTML5先行者学习网
// 如果浏览器支持的话,那么在js里面引用的DOM就会存在这个属性 D3gHTML5中文学习网 - HTML5先行者学习网
function hasPlaceholderSupport() { D3gHTML5中文学习网 - HTML5先行者学习网
var input = document.createElement('input'); D3gHTML5中文学习网 - HTML5先行者学习网
return ('placeholder' in input); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
D3gHTML5中文学习网 - HTML5先行者学习网
而如果浏览器不支持placeholder特性,那你就需要一个fallback策略来处理,比如MooTools,Dojo,或者其他JavaScript工具。(现在dojo可以用的少了,国内更多的是jQuery和ExtJS。) D3gHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
D3gHTML5中文学习网 - HTML5先行者学习网
/* jQuery 代码,当然,记得引入jQuery的库哦*/ D3gHTML5中文学习网 - HTML5先行者学习网
$(function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if(!hasPlaceholderSupport()){ D3gHTML5中文学习网 - HTML5先行者学习网
// 获取address元素 D3gHTML5中文学习网 - HTML5先行者学习网
var $address = $("input[name='address']"); D3gHTML5中文学习网 - HTML5先行者学习网
placeholder = $address.attr("placeholder"); D3gHTML5中文学习网 - HTML5先行者学习网
// 绑定 focus事件 D3gHTML5中文学习网 - HTML5先行者学习网
$address.bind('focus',function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if(placeholder == $address.val()){ D3gHTML5中文学习网 - HTML5先行者学习网
$address.val(''); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
// 失去焦点事件 D3gHTML5中文学习网 - HTML5先行者学习网
$address.bind('blur',function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if('' == $address.val()){ D3gHTML5中文学习网 - HTML5先行者学习网
$address.val(placeholder); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
D3gHTML5中文学习网 - HTML5先行者学习网
placeholder 是浏览器另一个伟大的附加属性用于取代js片段,你甚至可以编辑HTML5的placeholder样式. D3gHTML5中文学习网 - HTML5先行者学习网
全部代码如下: D3gHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
D3gHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE HTML> D3gHTML5中文学习网 - HTML5先行者学习网
<html> D3gHTML5中文学习网 - HTML5先行者学习网
<head> D3gHTML5中文学习网 - HTML5先行者学习网
<title> HTML5 placeholder属性演示 </title> D3gHTML5中文学习网 - HTML5先行者学习网
<meta name="Generator" content="EditPlus"> D3gHTML5中文学习网 - HTML5先行者学习网
<meta name="Author" content="renfufei@qq.com"> D3gHTML5中文学习网 - HTML5先行者学习网
<meta name="Description" content="original=http://davidwalsh.name/html5-placeholder"> D3gHTML5中文学习网 - HTML5先行者学习网
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> D3gHTML5中文学习网 - HTML5先行者学习网
<script> D3gHTML5中文学习网 - HTML5先行者学习网
// 在JS中创建一个input元素,并判断元素有没有一个叫做placeholder的属性 D3gHTML5中文学习网 - HTML5先行者学习网
// 如果浏览器支持的话,那么在js里面引用的DOM就会存在这个属性 D3gHTML5中文学习网 - HTML5先行者学习网
function hasPlaceholderSupport() { D3gHTML5中文学习网 - HTML5先行者学习网
var input = document.createElement('input'); D3gHTML5中文学习网 - HTML5先行者学习网
return ('placeholder' in input); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
/* jQuery 代码,当然,记得引入jQuery的库哦*/ D3gHTML5中文学习网 - HTML5先行者学习网
$(function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if(!hasPlaceholderSupport()){ D3gHTML5中文学习网 - HTML5先行者学习网
// 获取address元素 D3gHTML5中文学习网 - HTML5先行者学习网
var $address = $("input[name='address']"); D3gHTML5中文学习网 - HTML5先行者学习网
placeholder = $address.attr("placeholder"); D3gHTML5中文学习网 - HTML5先行者学习网
// 绑定 focus事件 D3gHTML5中文学习网 - HTML5先行者学习网
$address.bind('focus',function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if(placeholder == $address.val()){ D3gHTML5中文学习网 - HTML5先行者学习网
$address.val(''); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
// 失去焦点事件 D3gHTML5中文学习网 - HTML5先行者学习网
$address.bind('blur',function(){ D3gHTML5中文学习网 - HTML5先行者学习网
if('' == $address.val()){ D3gHTML5中文学习网 - HTML5先行者学习网
$address.val(placeholder); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
} D3gHTML5中文学习网 - HTML5先行者学习网
}); D3gHTML5中文学习网 - HTML5先行者学习网
</script> D3gHTML5中文学习网 - HTML5先行者学习网
</head> D3gHTML5中文学习网 - HTML5先行者学习网
<body> D3gHTML5中文学习网 - HTML5先行者学习网
<div> D3gHTML5中文学习网 - HTML5先行者学习网
<form method="post" action=""> D3gHTML5中文学习网 - HTML5先行者学习网
<input type="text" name="address" placeholder="请输入常住地址..."> D3gHTML5中文学习网 - HTML5先行者学习网
<input type="submit" value="测试"> D3gHTML5中文学习网 - HTML5先行者学习网
</form> D3gHTML5中文学习网 - HTML5先行者学习网
</div> D3gHTML5中文学习网 - HTML5先行者学习网
</body> D3gHTML5中文学习网 - HTML5先行者学习网
</html> D3gHTML5中文学习网 - HTML5先行者学习网
D3gHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助