javascript - textarea autoresize 有问题

标签 javascript php css ajax

我的 textarea autoresize 有问题,这是正确的,但 textarea 内容有问题。 我有 CSS 代码:

<style type="text/css">
    textarea {
        width:400px;
        border: 0 none white;
        overflow: hidden;
        padding: 0;
        outline: none;
        background-color: #fff;
        resize: none;
    }
    </style>

JavaScript 代码:

<script type="text/javascript">
    var observe;
    if (window.attachEvent) {
        observe = function (element, event, handler) {
            element.attachEvent('on'+event, handler);
        };
    }
    else {
        observe = function (element, event, handler) {
            element.addEventListener(event, handler, false);
        };
    }
    function init () {
        var text = document.getElementById('text');
        function resize () {
            text.style.height = 'auto';
            text.style.height = text.scrollHeight+'px';
        }
        /* 0-timeout to get the already changed text */
        function delayedResize () {
            window.setTimeout(resize, 0);
        }
        observe(text, 'change',  resize);
        observe(text, 'cut',     delayedResize);
        observe(text, 'paste',   delayedResize);
        observe(text, 'drop',    delayedResize);
        observe(text, 'keydown', delayedResize);

        text.focus();
        text.select();
        resize();
    }
    </script>

在我的 html 代码中:

<textarea rows="1" style="height:1em;" id="text">
  <p>
    blablabla
  </p>
</textarea> 

结果在这里: http://www.tokobesi.co.id/beta/resize.jpg

我不想要 html 标签 <p> </p>也显示,帮帮我

最佳答案

$(document).ready(function() {

   var value = $("#text").val();
   var v1 = value.replace("<p>", "");
   v1 = (v1.replace("</p>", '').trim());

   $("#text").val(v1);
 });
 var observe;
 if (window.attachEvent) {
   observe = function(element, event, handler) {
     element.attachEvent('on' + event, handler);
   };
 } else {
   observe = function(element, event, handler) {
     element.addEventListener(event, handler, false);
   };
 }

 function init() {
   var text = document.getElementById('text');

   function resize() {
       text.style.height = 'auto';
       text.style.height = text.scrollHeight + 'px';
     }
     /* 0-timeout to get the already changed text */

   function delayedResize() {
     window.setTimeout(resize, 0);
   }
   observe(text, 'change', resize);
   observe(text, 'cut', delayedResize);
   observe(text, 'paste', delayedResize);
   observe(text, 'drop', delayedResize);
   observe(text, 'keydown', delayedResize);

   text.focus();
   text.select();
   resize();
 }
textarea {
   width: 400px;
   border: 1px solid #000;
   overflow: hidden;
   padding: 0;
   outline: none;
   background-color: #fff;
   resize:none;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<textarea rows="1" style="height:1em;" id="text">
  <p>
    blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla
  </p>
</textarea>

关于javascript - textarea autoresize 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360616/

相关文章:

javascript - 如何在手触摸事件上启动动画?

javascript - 帮助 Mootools Gallery - 过渡文本

javascript - 检索当前的 javascript 文件名和行号

JavaScript 将 String 转换为 json 数组,但是从字符串中获取每个字符的数组?

javascript - 使用 Javascript 输出 Json 数组

php - PHP中&lt;input&gt;元素可以有大写字母和空格吗

php - 是否可以查看未回显的PHP内容?

php - 将 PHP 和 JSON 编码转换为 Javascript 日期

html - 调整 div 圆的大小

html - 将表页脚固定到页面底部,同时保持列的大小正确