如何缩小TextArea

时间:2010-08-22 21:03:57

标签: javascript textarea yui3

我正在使用Yahoo的YUI 3.1库以及TextExpander让TextArea在用户输入时成长。

下面的代码初始化TextArea:

YUI({gallery: 'gallery-2010.03.23-17-54'
    }).use("node", 'gallery-text-expander', function(Y) {
    Y.one('#myTextArea').plug(Y.TextExpander);
});

它完美无缺,但现在我在这个场景中有一个问题:

1)用户类型,TextArea长大了许多行,然后邮件发布到服务器。

2)在帖子之后,我使用$('myTextArea').value=''清理TextArea,但它没有按预期收缩,并且在真实时仍然有许多行必须回到原始大小。

我注意到TextExpander(http://yuilibrary.com/gallery/buildtag/text-expander/gallery-2010.03.23-17-54)的代码里面存在一个名为“shrink_area”的方法,但是如何调用这个方法 $('myTextArea').shrink_area()(我知道这是错误的代码行,但我需要获得类似的东西)或者最好的方法是什么?

提前感谢您的建议和提示。

2 个答案:

答案 0 :(得分:0)

Textarea具有rowscols属性,用于更改大小。尝试设置这些。

答案 1 :(得分:0)

哦,我自己解决了这个问题。

因此,尝试调用插入类的内部方法(很高兴知道如何操作,可能使用自定义命名空间),我编写了一个小功能来完成这个操作。 / p>

1)首先,我在类

中设置CSS属性min-height

2)清除TextArea后,我将height设置为min-height

下面的代码显示了执行技巧的功能

function shrinkTextArea(element) {
    // clear
    $(element).value ='';

    // shrink
    $(element).style.height = $(element).style.minHeight;
}