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

  • 相关阅读:
    开发脚本自动部署及监控
    内存进程与软件包安装
    Linux常用指令
    网络协议
    Python基础(二)
    python基础(一)
    shell编程
    正则与sed,grep,awk三剑客
    网络配置和元字符
    nginx
  • 原文地址:https://www.cnblogs.com/zhouyangla/p/5951518.html
Copyright © 2011-2022 走看看