• textarea的placeholder属性兼容ie8ie9


           前一阵子公司项目里用到了textarea的placeholder的属性,然后不兼容ie8ie9,去公司插件库里一看,妹的,只有input的兼容封装,欲哭无泪,然后在网上又查了好多,大部分都是写input的placeholder的兼容性,我刀呢?!?!?!

    没法子,又不能不管,可是我又不会封装插件的能力实在是有限啊,所以,就模仿了input的元素替换的方法,最后用了一个很笨的方法给弄出来了,请各路大神不要嘲笑,哈哈。

    一、html部分:  

    <textarea class = "research_description" maxlength="200" placeholder="最多可输入200字"></textarea>
    <span class = "ieTextarea ieTextHide">最多可输入200字</span><--一个替换placeholder的元素span-->

    二、less部分:

    样式具体的我就不写了,只写用到的这两个样式:

    .ieTextarea{
      color:#999!important;
      position:absolute;
      top:18px;
      left:30px;
    }
    .ieTextHide{
      display: none;
    }

    三、js

    if(navigator.userAgent.indexOf("MSIE 8.0")>0 && ! window.innerWidth){
      var $textarea = $('textarea');//获取元素集合
      $.each($textarea,function(i,el){//遍历
        if($(el).text() == ''){
          $(el).siblings('.ieTextarea').removeClass('ieTextHide');
        }else{
          $(el).siblings('.ieTextarea').addClass('ieTextHide');
        };
      });
      $('.ieTextarea').off('focus').focus(function(){//span聚焦的时候
        $(this).addClass('ieTextHide');
        $(this).siblings('textarea').focus();//模仿textarea聚焦
      });
      $('textarea').off('blur').blur(function(){
        if($(this).text() == ""){
          $(this).siblings('.ieTextarea').removeClass('ieTextHide');//失焦的时候让模拟span显示
        }
      });
      $('textarea').off('focus').focus(function(){
        $(this).siblings('.ieTextarea').addClass('ieTextHide');
      });
    }

  • 相关阅读:
    3道常见的vue面试题,你都会了吗?
    如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南
    Python速查表汇总
    VIM复健
    【PHP】使用RSA加密解密
    【PHP】生成RSA公钥私钥
    【PHP】生成验证码
    WebDriverManager实现自动获取浏览器驱动(Java)
    了解patchpackage
    github访问不了记录一下
  • 原文地址:https://www.cnblogs.com/youngboy-front/p/7001655.html
Copyright © 2020-2023  润新知