您好,欢迎访问一九零五行业门户网

文本框和密码框实现灰色预提示文字

这次给大家带来文本框和密码框实现灰色预提示文字,文本框和密码框实现灰色预提示文字的注意事项有哪些,下面就是实战案例,一起来看一下。
很久之前写了这个插件,基于jquery实现的,主要用于ie下实现placeholder效果,可同时支持文本和密码输入框。
placeholder是html5新增的一个属性,当input设置了该属性后,该值的内容将作为灰色提示显示在文本框中,当文本框获得焦点时,提示文字消失。
实现代码如下:
(function($) {      var placeholderfriend = {     focus: function(s) {       s = $(s).hide().prev().show().focus();       var idvalue = s.attr(id);       if (idvalue) {         s.attr(id, idvalue.replace(placeholderfriend, ));       }       var clsvalue = s.attr(class);    if (clsvalue) {         s.attr(class, clsvalue.replace(placeholderfriend, ));       }     }   }     //判断是否支持placeholder   function isplaceholer() {     var input = document.createelement('input');     return placeholder in input;   }   //不支持的代码   if (!isplaceholer()) {     $(function() {       var form = $(this);       //遍历所有文本框,添加placeholder模拟事件       var elements = form.find(input[type='text'][placeholder]);       elements.each(function() {         var s = $(this);         var pvalue = s.attr(placeholder);   var svalue = s.val();           if (pvalue) {           if (svalue == '') {             s.val(pvalue);           }         }       });       elements.focus(function() {         var s = $(this);         var pvalue = s.attr(placeholder);   var svalue = s.val();         if (svalue && pvalue) {           if (svalue == pvalue) {             s.val('');           }         }       });             elements.blur(function() {         var s = $(this);         var pvalue = s.attr(placeholder);   var svalue = s.val();         if (!svalue) {           s.val(pvalue);         }       });       //遍历所有密码框,添加placeholder模拟事件       var elementspass = form.find(input[type='password'][placeholder]);       elementspass.each(function(i) {         var s = $(this);         var pvalue = s.attr(placeholder);   var svalue = s.val();         if (pvalue) {           if (svalue == '') {                       //dom不支持type的修改,需要复制密码框属性,生成新的dom             var html = this.outerhtml || ;             html = html.replace(/\s*type=(['])?password\1/gi,  type=text placeholderfriend)               .replace(/\s*(?:value|on[a-z]+|name)(=(['])?\s*\1)?/gi,  )               .replace(/\s*placeholderfriend/,  placeholderfriend value=' + pvalue               + '  + onfocus='placeholderfriendfocus(this);' );             var idvalue = s.attr(id);             if (idvalue) {               s.attr(id, idvalue + placeholderfriend);             }             var clsvalue = s.attr(class);    if (clsvalue) {               s.attr(class, clsvalue + placeholderfriend);             }             s.hide();             s.after(html);           }         }       });             elementspass.blur(function() {         var s = $(this);         var svalue = s.val();         if (svalue == '') {           var idvalue = s.attr(id);           if (idvalue) {             s.attr(id, idvalue + placeholderfriend);           }           var clsvalue = s.attr(class);     if (clsvalue) {             s.attr(class, clsvalue + placeholderfriend);           }           s.hide().next().show();         }       });     });   }     window.placeholderfriendfocus = placeholderfriend.focus; })(jquery); <html> <head> <script src="jquery.js" type="text/javascript"></script> <script src="placeholderfriend.js" type="text/javascript"></script> </head> <body> <input placeholder="账号/手机号码" ><br> <input placeholder="密码" type="password" > </body> </html>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jquery mobile初始化事件使用(案例详解)
设置多行文本框[textarea]自动生成高度
以上就是文本框和密码框实现灰色预提示文字的详细内容。
其它类似信息

推荐信息