2012-10-22 62 views
0

我试图找到答案。也搜索谷歌。但不幸的是无法得到答案。我有一个与textarea的div。在键控上,我希望div增加了输入的文本,并且输入按div高度应该根据字体大小增加。当我按下输入宽度继续增加从停止的地方。检查这个小提琴,并帮助我与功能。 DEMOhttp://jsfiddle.net/shabbirrangwala/NkRYY/8/增加textarea输入div的宽度和高度

$('textarea').keyup(function(e) { 


if ((e.keyCode || e.which) == 13) { 
$('.EDetailInset').css('height', ((this.value.length + 1) * 3) + 'px'); 

} 
else 
{ 
$('.EDetailInset').css('width', ((this.value.length + 1) * 11) + 'px'); 

} 
});​ 

回答

2

可以传递+ = 15作为参数的CSS功能。试试这个:

$('textarea').keyup(function(e) { 

    if ((e.keyCode || e.which) == 13) { 
     $('.EDetailInset').css('height', "+=30"); 
    } 
    else { 
     $('.EDetailInset').css('width', "+=30"); 
    } 
}); 

我建议你,如果你想要做更多先进的东西读给read this

+0

当我按下进入格犯规重置到最后字符。在按下输入之前,它从停止的位置开始增加。这就是我不想要的。我想宽度拉回到输入新闻的最后一个字符。 –

+0

您可以将最大行长保留在一个变量中,并相应地设置textarea的长度,如果您在下一次按Enter时恰好有更长的行,则只需更新变量的值即可。 –

+0

查看下面的答案并阅读我的最新评论。你能帮我做这件事吗? –

0

试试这个它就像你想让它改变了textareadiv,我用高度和DIV的宽度保持正确的高度/宽度http://jsfiddle.net/NkRYY/9/

+0

恩,谢谢你的演示。但是,在第一行输入时尝试按空格键。它不起作用。还有一件事。 Div不会调整高度变化。它的确如此,但第二次尝试。有些东西可疑。 –

+0

你能帮我这么做吗?我从第二行开始打字*因此,空格键工作*,我只需键入一行。这意味着禁用输入按钮,我设置最大宽度,使文本不应超越它? –