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 相关文章推荐
CSS3制作精致的照片墙特效
Jun 07 HTML / CSS
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
Feb 04 HTML / CSS
css3 按钮样式简单可扩展创建
Mar 18 HTML / CSS
利用CSS3实现单选框动画特效示例代码
Sep 26 HTML / CSS
CSS3实现莲花绽放的动画效果
Nov 06 HTML / CSS
详解HTML5新增标签
Nov 27 HTML / CSS
html5 css3网站菜单实现代码
Dec 23 HTML / CSS
html5实现canvas阴影效果示例
May 07 HTML / CSS
HTML5 Canvas的事件处理介绍
Apr 24 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
Aug 31 HTML / CSS
整理HTML5移动端开发的常用触摸事件
Apr 15 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
Aug 11 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
php实现httpclient类示例
2014/04/08 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
javascript数组的使用
2013/03/28 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
python递归函数用法详解
2020/10/26 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
行政主管岗位职责
2013/11/18 职场文书
师范应届毕业生自荐信
2013/11/18 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
大学生找工作求职信
2014/07/09 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫