跨浏览器的placeholder

简介:

 如何实现跨浏览器的placeholder效果呢? 

先看下效果

 

 

js代码如下:

 

Js代码   收藏代码
  1. $('#username').placeholder({  
  2.         word: '用户名', color: '#ddd', normalFontColor: '#f00', maxLen: 4, minLen: 2, errorBorderClass: 'errorBorder',  
  3.         keyup_callback: function () {  
  4.             console.log('keyup_callback');  
  5.         }  
  6.     });  
  7.     $('#password').placeholder({word: '请输入密码', normalFontColor: '#f00', color: '#ddd'}, function () {  
  8.         console.log('callback');  
  9.     });  

 参数说明:

 

 

html实例

Html代码   收藏代码
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <title>label左对齐</title>  
  6.     <style>  
  7.         ul, li {  
  8.             /*list-style: outside none none;*/  
  9.             list-style-type: none;  
  10.             margin-left: 0;  
  11.         }  
  12.   
  13.         li label {  
  14.             width: 20%;  
  15.             float: left; /* It is necessary */  
  16.         }  
  17.   
  18.   
  19.         li.button {  
  20.             text-align: center;  
  21.             margin-left: -40px;  
  22.         }  
  23.   
  24.         input.errorBorder {  
  25.             border: solid 1px #ff0000;  
  26.         }  
  27.     </style>  
  28. </head>  
  29. <body>  
  30. <form action="">  
  31.     <ul style="width: 400px">  
  32.         <li>  
  33.             <label for="username">用户名</label><input id="username" type="text"/> <span>用户名不能为空</span>  
  34.         </li>  
  35.         <li>  
  36.             <label for="password">密码</label><input id="password" type="text"/>  
  37.         </li>  
  38.         <li class="button">  
  39.             <input type="button" value="下一步"/>  
  40.         </li>  
  41.     </ul>  
  42. </form>  
  43. <script type="text/javascript" src="jquery-1.11.1.js"></script>  
  44. <script type="text/javascript" src="common_util.js"></script>  
  45. <script type="text/javascript" src="jplaceholder.js"></script>  
  46. <script type="text/javascript">  
  47.   
  48.     $('#username').placeholder({  
  49.         word: '用户名', color: '#ddd', normalFontColor: '#f00', maxLen: 5, minLen: 2, errorBorderClass: 'errorBorder',  
  50.         keyup_callback: function () {  
  51.             console.log('keyup_callback');  
  52.         },keydown_callback: function () {  
  53.             console.log('keydown...');  
  54.         }  
  55.     });  
  56.     $('#password').placeholder({word: '请输入密码', normalFontColor: '#f00', color: '#ddd'}, function () {  
  57.         console.log('callback');  
  58.     });  
  59.   
  60.   
  61.   
  62. </script>  
  63. </body>  
  64. </html>  

 使用示例:

Js代码   收藏代码
  1. var $invoice_title = $('input[name=invoice_title]');  
  2.     $invoice_title.inputclean({  
  3.         inputClearClass: 'inputClearBtn',  
  4.         deviationTop: 0,  
  5.         parentHoverClass: 'inputParentLi',  
  6.         deviationLeft: 2  
  7.     });  
  8.     $invoice_title.placeholder({  
  9.         word: '请输入抬头信息',  
  10.         color: '#ddd',  
  11.         normalFontColor: '#000'/* maxLen: 4, minLen: 2,*/  
  12.         errorBorderClass: 'errorBorder',  
  13.         parentInputFocusClass: 'inputFocus',  
  14.         isAdapterInputclean: true  
  15.     });  
  16.   
  17.     var $address_detail = $('input[name=address_detail]');  
  18.     $address_detail.inputclean({  
  19.         inputClearClass: 'inputClearBtn',  
  20.         deviationTop: 0,  
  21.         parentHoverClass: 'inputParentLi',  
  22.         deviationLeft: 2  
  23.     });  
  24.     $address_detail.placeholder({  
  25.         word: '请输入详细地址',  
  26.         color: '#ddd',  
  27.         normalFontColor: '#000'/* maxLen: 4, minLen: 2,*/  
  28.         errorBorderClass: 'errorBorder',  
  29.         parentInputFocusClass: 'inputFocus',  
  30.         isAdapterInputclean: true  
  31.     });  

 

Js代码   收藏代码
  1. $ChanjetNewCodeInput.placeholder({  
  2.                word: ERROR_MESSAGE_SMSCODE_PLEASE_INPUT,  
  3.                color: '#999',  
  4.                normalFontColor: '#333333',  
  5.                keyup_callback: CodeInputKeyUp,  
  6.                focus_callback: CodeInputKeyUp,  
  7.                blur_callback: function () {  
  8.                    checkSMSCode($ChanjetNewCodeInput, $newSMSCodeMsg, true)  
  9.                }  
  10.            });  
  11.            $ChanjetNewMobileInput.placeholder({  
  12.                word: '请输入11位有效手机号码',  
  13.                color: '#999',  
  14.                normalFontColor: '#333333',  
  15.                keyup_callback: NewMobileInputKeyUp,  
  16.                focus_callback: function () {  
  17.                    normalBorderInput($ChanjetNewMobileInput);  
  18.                },  
  19.                blur_callback: function (event) {  
  20.                    //var eventTarget = event.srcElement || event.target || event.toElement;  
  21.                    var mobileVal = $ChanjetNewMobileInput.val();  
  22.                    if (!isMobile(mobileVal)) {  
  23.                        setNewMobileMsg('newMobileError''请输入11位有效手机号码');  
  24.                        disAbleNextBtn($('#getNewSMSCode'));  
  25.                        errorBorderInput($ChanjetNewMobileInput);  
  26.                    }  
  27.                }  
  28.            });  

 注意:

1,属性color 表示placeholder的字体颜色;

2,isAdapterInputclean 表示兼容inputFocus,怎么兼容呢?

inputFocus的效果就是文本框聚焦时× 是永久显示的,不管光标在什么地方;当失去光标时,只有hover时才显示×

所以文本聚焦时会应用一个css class,当失去焦点时就要移除该class

 


相关文章
|
前端开发
使用 div 实现 input、textarea 输入框,并支持 placeholder 属性(解决浏览器兼容问题)
使用 div 实现 input、textarea 输入框,并支持 placeholder 属性(解决浏览器兼容问题)
150 0
|
Web App开发 iOS开发
Bug: Safari浏览器input框placeholder和内容都不显示
Bug: Safari浏览器input框placeholder和内容都不显示
263 0
|
Web App开发 移动开发 iOS开发
placeholder在不同浏览器下的表现及兼容方法
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:15px; border:0px; font-family:Arial,sans-serif; font-size:14px; line-height:24px; vertical-align:baseline; color:rgb(85
1426 0
|
移动开发 JavaScript HTML5
HTML5实践 -- 实现跨浏览器HTML5文字占位符 - placeholder
  转载请注明原创地址:http://www.cnblogs.com/softlover/archive/2012/11/20/2779878.html      html5为web的form表单增强了一个功能,他就是input的占位符--placeholder。
933 0
|
9天前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
2月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
65 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
|
2月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
34 1
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
58 1
|
2月前
|
自然语言处理 资源调度 JavaScript
JS 逆向基础篇:JS作用域和浏览器对象属性补环境
JS 逆向基础篇:JS作用域和浏览器对象属性补环境
75 1
下一篇
无影云桌面