2013-04-25 70 views
0

我需要从textarea放入由宽度和高度限制的div。 这里是我的jsfiddle:http://jsfiddle.net/ptCoder/8XL7n/30/文本从textarea到有限宽度和高度的div

例如:我有一个div宽度100px和最大高度100px。我需要在textarea中输入文本,这个文本将出现在div框中。

下面是另一个例子,但效果不好:Limit text length based on fitting text inside fixed width and height box

我需要有执行如删除,退格键和复制/粘贴。

我试图阻止高度尺寸与此代码:

if (currentHeight >= window.maxHeight) { 
    //alert('sim'); 
    var $th = $(this); 
    $th.val($th.val().replace(/./, function(str) { 
     return ''; 
    })); 
    e.preventDefault(); 
} 

但我有与删除,退格键和复制粘贴等虫子......

另一个问题是文本的textarea消失。 ..

+0

能否请您解释一下什么是你想怎么办?你的动机是什么? – 2013-04-25 17:58:52

+1

为什么不使用'contenteditiable'? – howderek 2013-04-25 18:02:57

+0

为什么人们在发布问题后逃跑......我更加兴奋地排除这个问题,而不是她/他将其排序..:D:P – 2013-04-25 18:08:25

回答

1

为什么你不能只使用最大宽度和最大高度?

#target { 
    max-width:200px; 
    max-height:200px; 
} 

这应该限制目标的大小。

+0

不要工作,但谢谢。 – ptCoder 2013-04-25 18:23:45

+0

@ptCoder也许你可以扩展你的问题的参数呢?限制盒子的大小,你想完成什么?还是比这更多? – smilebomb 2013-04-25 18:29:51

+0

谢谢大家。 基本上我需要在textarea中编写文本,以便它不会超过div中的预定义大小。 – ptCoder 2013-04-26 01:38:08

1

你可以试试这个:

<script> 
$(document).ready(function(){ 
    $('#inputData').keydown(function(){ 
    limitText($('#inputData'),100,100); 
    }); 

    $('#inputData').keyup(function(){ 
     limitText($('#inputData'),100,100); 
     }); 
}); 

function limitText(limitField, limitCount, limitNum) { 
    if (limitField.val().length > limitNum) { 
     limitField.val(limitField.val().substring(0, limitNum)); 
    } else { 
     limitCount=limitNum - limitField.val().length; 
    } 
} 
</script> 
    <textarea maxlength="100" class="mycss" id="inputData" name="data" spellcheck=false wrap="physical"></textarea>