HTML5 placeholder(空白提示)属性介绍


Posted in HTML / CSS onAugust 07, 2013

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

复制代码
代码如下:

<input type="text" name="address" placeholder="请输入常住地址...">

你要做的仅仅是添加一个placeholder属性域,以及一些引导性的文字内容,不需要额外的JavaScript脚本来实现这种效果,是不是感觉很棒?
测试 placeholder 的支持度
(注意这是2010年的文章,到现在,2013年,主流浏览器应该都支持了.)
既然 placeholder 是一个新的功能,那么测试浏览器的支持是很有必要的。JS代码如下:
复制代码
代码如下:

// 在JS中创建一个input元素,并判断元素有没有一个叫做placeholder的属性
// 如果浏览器支持的话,那么在js里面引用的DOM就会存在这个属性
function hasPlaceholderSupport() {
var input = document.createElement('input');
return ('placeholder' in input);
}

而如果浏览器不支持placeholder特性,那你就需要一个fallback策略来处理,比如MooTools,Dojo,或者其他JavaScript工具。(现在dojo可以用的少了,国内更多的是jQuery和ExtJS。)
复制代码
代码如下:

/* jQuery 代码,当然,记得引入jQuery的库哦*/
$(function(){
if(!hasPlaceholderSupport()){
// 获取address元素
var $address = $("input[name='address']");
placeholder = $address.attr("placeholder");
// 绑定 focus事件
$address.bind('focus',function(){
if(placeholder == $address.val()){
$address.val('');
}
});
// 失去焦点事件
$address.bind('blur',function(){
if('' == $address.val()){
$address.val(placeholder);
}
});
}
});

placeholder 是浏览器另一个伟大的附加属性用于取代js片段,你甚至可以编辑HTML5的placeholder样式.
全部代码如下:
复制代码
代码如下:

<!DOCTYPE HTML>
<html>
<head>
<title> HTML5 placeholder属性演示 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="renfufei@qq.com">
<meta name="Description" content="original=http://davidwalsh.name/html5-placeholder">
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
// 在JS中创建一个input元素,并判断元素有没有一个叫做placeholder的属性
// 如果浏览器支持的话,那么在js里面引用的DOM就会存在这个属性
function hasPlaceholderSupport() {
var input = document.createElement('input');
return ('placeholder' in input);
}
/* jQuery 代码,当然,记得引入jQuery的库哦*/
$(function(){
if(!hasPlaceholderSupport()){
// 获取address元素
var $address = $("input[name='address']");
placeholder = $address.attr("placeholder");
// 绑定 focus事件
$address.bind('focus',function(){
if(placeholder == $address.val()){
$address.val('');
}
});
// 失去焦点事件
$address.bind('blur',function(){
if('' == $address.val()){
$address.val(placeholder);
}
});
}
});
</script>
</head>
<body>
<div>
<form method="post" action="">
<input type="text" name="address" placeholder="请输入常住地址...">
<input type="submit" value="测试">
</form>
</div>
</body>
</html>
HTML / CSS 相关文章推荐
纯CSS实现设置半个字符的样式
Jul 03 HTML / CSS
css3实现椭圆轨迹旋转的示例代码
Oct 29 HTML / CSS
canvas粒子动画背景的实现示例
Sep 03 HTML / CSS
video结合canvas实现视频在线截图功能
Jun 25 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
Feb 22 HTML / CSS
html5 视频播放解决方案
Nov 06 HTML / CSS
canvas 下载二维码和图片加水印的方法
Mar 21 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 HTML / CSS
浅谈Html5页面打开app的一些思考
Mar 30 HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 HTML / CSS
html css3不拉伸图片显示效果
Jun 07 HTML / CSS
5个你不知道的HTML5的接口介绍
Aug 07 #HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
Aug 06 #HTML / CSS
使用HTML5拍照示例代码
Aug 06 #HTML / CSS
HTML5 Canvas阴影使用方法实例演示
Aug 02 #HTML / CSS
HTML5 Canvas自定义圆角矩形与虚线示例代码
Aug 02 #HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
Aug 02 #HTML / CSS
使用HTML5的File实现base64和图片的互转
Aug 01 #HTML / CSS
You might like
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
php字符串函数学习之strstr()
2015/03/27 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
django批量导入xml数据
2016/10/16 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python AES加密实例解析
2018/01/18 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
html5开发之viewport使用
2013/10/17 HTML / CSS
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
开业庆典主持词
2014/03/21 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
python 单机五子棋对战游戏
2022/04/28 Python
Python中的socket网络模块介绍
2022/07/23 Python