关于IE9的placeholder属性异常万能解决方案

此方案更适用于工作中遇到很乱套的工程,不方便套用网上的脚本。

解决思路
1.打漂浮于input输入框上的悬浮层<div>
 <input id="l_phone"  οnblur="showSuspendPhone()" type=“text"  οninput="hideSuspendPhone()" />
 <div class="placeholderSuspendPhone">请输入手机号</div>
  2. 与<input>标签相对定位  悬浮  
.placeholderSuspendPhone {
      position: relative;
      z-index: 3;
      left: 10px;
     top: -50%;
     margin-top:-6px;
     color: #ABABAB;
}
#l_phone{
    position: relative;
    z-index: 2;
}
  3.情况:页面加载移除placeholder的属性,使其不影响悬浮层,有记忆内容时,悬浮层不显示
$("#l_phone"). removeAttr("placeholder");
     if ($( "#l_phone").val() == "")
     {
         $(".placeholderSuspendPhone").show();
     }else
     {
         $(".placeholderSuspendPhone").hide();
      }
4.对文本框实行实时监控事件函数οninput="hideSuspendPhone()”
 function hideSuspendPhone(){
      $(".placeholderSuspendPhone").hide();
}
5.文本框失焦事件,失焦且无值,οnblur="showSuspendPhone()"
function showSuspendPhone(){
      if ($("#l_phone").val() == "")
{
     $(".placeholderSuspendPhone").show();
     }
}
6.解决因悬浮层造成的遮掩,聚焦体验不好问题
 $(".placeholderSuspendPhone").on("click",function(){
          $("#l_phone").focus();
  });
7.解决悬浮层造成对非IE9浏览器的placeholder属性的干扰
 <script type="text/javascript">
      $(document).ready(
               function() {
                    $(".placeholderSuspendPhone").hide();
                     document.getElementById("l_phone").setAttribute("placeholder","请输入手机号");
                });
</script>
10.IE9浏览器引入js文件
<!--[if IE 9]>
          <script type="text/javascript" src="<%=request.getContextPath()%>/jsh/loginCompateIE9_placeholder.js"></script>
<![endif]-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值