zoukankan      html  css  js  c++  java
  • textarea高度自适应自动展开

     在使用之前,推荐两个比较好的事件,分别是oninput和onpropertychange,IE9以下不兼容oninput。在textarea发生变化时,可以通过监听这两个事件来触发你需要的功能。

    textarea高度自适应是一个比较常用的前端开发效果。 在新浪微博的输入框中也有这个效果,不过它那个效果不怎么好看,高度展开有点延迟,可能是通过给高度赋值scrollheight.而下面这个则是通过复制textarea的html并另外一个元素pre,由于设置pre自动展开,所以不会存在有滞留的感觉,交互效果较好。

    代码兼容IE7及以上,IE6没测,已放弃兼容

    HTML代码:

    <div class="expandingArea " id="textarea">
      <pre><span></span><br></pre>
      <textarea></textarea>
    </div>

    JS

    复制代码
    function makeExpandingArea(container) {
      var area = document.getElementsByTagName('textarea')[0] ;
      var span = document.getElementsByTagName('span')[0] ;
      if (area.addEventListener) {
       area.addEventListener('input', function() {
         span.textContent = area.value;
       }, false);
       span.textContent = area.value;
     } else if (area.attachEvent) {
      area.attachEvent('onpropertychange', function() {
        var html = area.value.replace(/
    /g,'<br/>');
        span.innerText = html; 
      });
      var html = area.value.replace(/
    /g,'<br/>');
      span.innerText = html;
    }
    container.className += "active";
    }
    
    var areas = document.getElementById('textarea') ;
    makeExpandingArea(areas);
    复制代码

    原文链接:前端开发博客http://caibaojian.com/textarea-autoheight.html

  • 相关阅读:
    .NET Core 初次上手Swagger
    SQL server字符串分割成表-表分割为字符串
    C# DataTable、DataSet、List、相互转换
    .NET core Quartz 定时任务框架 demo
    SQL 乐色干货笔记
    .NET-异步操作
    .NET Core随笔把数据库数据查出来转JSON并输出
    ASP.NET Nlog上手练习小例子
    C# 数据类型
    获取Excel
  • 原文地址:https://www.cnblogs.com/wangsicongde/p/7598722.html
Copyright © 2011-2022 走看看