• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > IE下支持文本框和密码框placeholder效果的JQuery插件分享

IE下支持文本框和密码框placeholder效果的JQuery插件分享

作者:没有开花的树 字体:[增加 减小] 来源:互联网 时间:2017-08-16

没有开花的树 通过本文主要向大家介绍了IE,文本框,密码框,placeholder效果,JQuery插件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

很久之前写了这个插件,基于jQuery实现的,主要用于IE下实现placeholder效果,可同时支持文本和密码输入框。

placeholder是HTML5新增的一个属性,当input设置了该属性后,该值的内容将作为灰色提示显示在文本框中,当文本框获得焦点时,提示文字消失。

下载地址:http://xiazai.jb51.net/201501/other/placeholderfriend.rar

实现代码如下:

(function($) {
  /**
   * 没有开花的树
   * 2012/11/28 15:12
   */

  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>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jQuery扇形定时器插件pietimer使用方法详解
  • jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
  • jQuery加密密码到cookie的实现代码
  • 使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
  • jQuery.cookie.js使用方法及相关参数解释
  • 基于cookie实现zTree树刷新后展开状态不变
  • jquery.cookie.js的介绍与使用方法
  • jQuery.cookie.js实现记录最近浏览过的商品功能示例
  • EasyUI折叠表格层次显示detailview详解及实例
  • jquery dataview数据视图插件使用方法

相关文章

  • 2017-08-16JQuery显示隐藏页面元素的方法总结
  • 2017-08-16编写自己的jQuery提示框(Tip)插件
  • 2017-08-16跟着JQuery API学Jquery 之二 属性
  • 2017-08-16jQuery实现选项卡切换效果简单演示
  • 2017-08-16jQuery中借助deferred来请求及判断AJAX加载的实例讲解
  • 2017-08-16深入理解jquery的$.extend()、$.fn和$.fn.extend()
  • 2017-08-16JQuery的attr 与 val区别
  • 2017-08-16jQuery使用removeClass方法删除元素指定Class的方法
  • 2017-08-16jQuery实现拖拽可编辑模块功能代码
  • 2017-08-16jquery radio的取值_radio的选中_radio的重置方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jquery全选checkBox功能实现代码(取消全选功能)
    • jQuery实现表格行上移下移和置顶的方法
    • treepanel动态加载数据实现代码
    • jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
    • jquery插件bxslider用法实例分析
    • 一款基于jQuery的图片场景标注提示弹窗特效
    • jQuery 前的按键判断代码
    • jQuery判断一个元素是否可见的方法
    • 让input框实现类似百度的搜索提示(基于jquery事件监听)
    • jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有