js实现html5占位文本功能,支持password输入框
2012-05-17 12:23
681 查看
这段js采用jquery作为基础,实现支持html5的新特性占位文本主要针对密码输入框做了特殊处理。
1 function supports_placeholder() {
2 var i = document.createElement('input');
3 return 'placeholder' in i;
4 }
5 function jplaceholder(jq) {
6 if (!supports_placeholder()) {
7 var ispassword = jq.attr('type') == 'password';
8 var duplicate = $("<input type='text' />");
9 if(ispassword){
//copy prop
duplicate.attr("class",jq.attr("class"));
duplicate.attr("style",jq.attr("style"));
duplicate.val(jq.attr("placeholder"));
duplicate.focus(function(){
duplicate.hide();
jq.show().focus();
});
jq.after(duplicate);
jq.hide();
}else{
jq.addClass('placeholder');
jq.val(jq.attr('placeholder'));
}
jq.focus(function() {
if(!ispassword){
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
if(!ispassword){
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}else{
jq.hide();
duplicate.show();
}
}
});
jq.parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
});
}
}
$(function() {
$('input[placeholder]').each(function(i,o) {
jplaceholder($(o));
});
});
1 function supports_placeholder() {
2 var i = document.createElement('input');
3 return 'placeholder' in i;
4 }
5 function jplaceholder(jq) {
6 if (!supports_placeholder()) {
7 var ispassword = jq.attr('type') == 'password';
8 var duplicate = $("<input type='text' />");
9 if(ispassword){
//copy prop
duplicate.attr("class",jq.attr("class"));
duplicate.attr("style",jq.attr("style"));
duplicate.val(jq.attr("placeholder"));
duplicate.focus(function(){
duplicate.hide();
jq.show().focus();
});
jq.after(duplicate);
jq.hide();
}else{
jq.addClass('placeholder');
jq.val(jq.attr('placeholder'));
}
jq.focus(function() {
if(!ispassword){
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
if(!ispassword){
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}else{
jq.hide();
duplicate.show();
}
}
});
jq.parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
});
}
}
$(function() {
$('input[placeholder]').each(function(i,o) {
jplaceholder($(o));
});
});
相关文章推荐
- js实现输入框仿html5 placeholder功能
- 模仿微信朋友圈 仿微信js-sdk wx.previewImage javascript实现,支持图片预览,滑动切换,双指缩放,图片缓存 h5 html5 js
- JS实现仿百度输入框自动匹配功能的示例代码
- 使用div模拟textarea,实现文本输入框高度自适应(附:js控制textarea实现文本输入框高度自适应)
- js实现input输入框只能输入数字的功能
- HTML5 - 判断浏览器是否支持html5某个功能(使用modernizr.js)
- Android登陆界面实现-支持输入框清楚和震动效果功能
- js+html5实现canvas绘制镂空字体文本的方法
- js实现点击复制当前文本到剪贴板功能(兼容所有浏览器)
- jQuery实现返回顶部功能适合不支持js的浏览器
- html5实现输入框自动提示功能之------datalist标签
- 实现输入内容提示的功能(仿google_百度输入框提示)jquery.ui.autocomplete.js插件
- html5实现输入框自动提示功能
- js 实现图片预览功能支持ie8
- html5配合css3实现带提示文字的输入框(摆脱js)
- JS实现仿百度输入框自动匹配功能的示例代码
- 在ie8上js实现简单的combobox功能(支持拼音检索)
- js实现点击复制当前文本到剪贴板功能(兼容所有浏览器)
- js+HTML5实现图片粘贴上传功能
- js实现input输入框只能输入数字的功能(完美测试通过)