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过渡_动力节点Java学院整理
Jul 11 HTML / CSS
10个很棒的 CSS3 开发工具 推荐
May 16 HTML / CSS
CSS3实现曲线阴影和翘边阴影
May 03 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
Jan 30 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
Mar 25 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
Sep 02 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
May 08 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
Dec 09 HTML / CSS
Html5实现文件异步上传功能
May 19 HTML / CSS
利用canvas实现图片压缩的示例代码
Jul 17 HTML / CSS
使用placeholder属性设置input文本框的提示信息
Feb 19 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
Sep 16 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 中英文语言转换类
2011/09/07 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
基于element-ui的rules中正则表达式
2018/09/04 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
K-近邻算法的python实现代码分享
2017/12/09 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
用Python shell简化开发
2018/08/08 Python
python创建文件备份的脚本
2018/09/11 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
Pytorch to(device)用法
2020/01/08 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
详解Django配置JWT认证方式
2020/05/09 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
存储过程的优点有哪些
2012/09/27 面试题
预备党员政审材料
2014/02/04 职场文书
运动会宣传口号
2014/06/09 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
学习十八大的感悟
2015/08/11 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers