placeholder 兼容IE

本文介绍了一种使用jQuery实现的兼容Internet Explorer浏览器的placeholder属性方法。该方法通过检测浏览器是否支持placeholder属性来决定是否进行兼容性处理。对于不支持的浏览器,通过创建一个绝对定位的span元素来模拟placeholder效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


placeholder 是html5的新属性,所有只有支持html5的浏览器才能解析placeholder属性,下面介绍一种placeholder兼容IE浏览器的方法,


JS:jquery.JPlaceholder


var JPlaceHolder = {
  //检测
  _check: function () {
    return 'placeholder' in document.createElement('input');
  },
  //初始化
  init: function () {
    if (!this._check()) {
      this.fix();
    }
  },
  //修复
  fix: function () {
    jQuery(':input[placeholder]').each(function (index, element) {
      var self = $(this), txt = self.attr('placeholder');
      self.wrap($('<div></div>').css({ position: 'relative', zoom: '1', border: 'none', background: 'none', padding: 'none', margin: 'none' }));
      var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css('padding-left');
      var holder = $('<span></span>').text(txt).css({ position: 'absolute', left: pos.left, top: pos.top, height: h, lienHeight: h, paddingLeft: paddingleft, color: '#aaa' }).appendTo(self.parent());
      self.focusin(function (e) {
        holder.hide();
      }).focusout(function (e) {
        if (!self.val()) {
          holder.show();
        }
      });
      holder.click(function (e) {
        holder.hide();
        self.focus();
      });
    });
  }
};
//执行
jQuery(function () {
  JPlaceHolder.init();
});



页面调用:

<script src="~/JsScript/Web/Common/jquery.JPlaceholder.js"></script>

<input id="username" name="username" placeholder="Please The Name " type="text" />


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值