美文网首页
textarea自动适应内容的高度 window.activeo

textarea自动适应内容的高度 window.activeo

作者: 八妹sss | 来源:发表于2019-10-11 13:44 被阅读0次
解决方法:添加两个事件
onfocus="window.activeobj=this;this.clock=setInterval(function(){activeobj.style.height=activeobj.scrollHeight+'px';},200);"   
onblur="clearInterval(this.clock);"

自己项目应用:

<div class="form-mid-text" @click="clickMask" ref="formMid">
    <div class="form-text-input-mask" @click="clickMask">
        <div class="form-text-input-mask-upper">正文内容排版为图片加正文,500字以内</div>
        <div class="form-text-input-mask-lower">若需发布图文混排的公告,可前往往幼儿园管理后台发布</div>
    </div>
    <textarea name="formText" id="formText" v-model="form.body" maxlength="500" ref="textArea" onfocus="window.activeobj=this;this.clock=setInterval(function(){activeobj.style.height=activeobj.scrollHeight+'px';},200);" onblur="clearInterval(this.clock);" @blur="textAreaBlur" class="form-mid-input"></textarea>
</div>

js 用了onblur和@blur可以同时用

<script>
methods: {
  clickMask () {
      document.getElementsByClassName('form-text-input-mask')[0].style.display = 'none'
      document.getElementById('formText').style.display = 'block'
      // document.getElementById('formText').style.height = this.$utils.rem2px(2.38) + 'px'
      document.getElementById('formText').focus()
  },
  textAreaBlur () {
      if (document.getElementById('formText').value.length === 0) {
        document.getElementsByClassName('form-text-input-mask')[0].style.display = 'block'
        document.getElementById('formText').style.display = 'none'
      }
      document.getElementById('formText').blur()
    },
}
<script>

css 要设置最大和最小高度

.form-mid-input {
    display: none;
    width: calc(100% - .12rem);
    min-height: 2.18rem;
    max-height: 8.72rem;
    font-family: 'PingFangSC-Regular';
    font-size: .28rem;
    line-height: .42rem;
    color: #333333;
    outline: none;
    border: none;
    resize:none;
  }

这个方法简单好用 比之前的方案(通过监听实现,地址:https://www.jianshu.com/p/33c399890771
)好用,之前的方案适用于有最大高度的文本输入

image.png

原文链接:https://blog.csdn.net/hql1439493352/article/details/95359596

相关文章

网友评论

      本文标题:textarea自动适应内容的高度 window.activeo

      本文链接:https://www.haomeiwen.com/subject/dpxwectx.html