如何缩小文本区域

发布于 2024-09-15 16:25:38 字数 873 浏览 6 评论 0原文

我正在使用 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)存在一个名为“shr​​ink_area”的方法,但我如何调用此方法 $('myTextArea').shrink_area()(我知道这是错误的代码行,但我需要获得类似的东西)或者什么是最好的方法?

预先感谢您的建议和提示。

i am using YUI 3.1 Library from Yahoo and also the TextExpander to let a TextArea to grow up when a user type.

The code below initialize the TextArea:

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

It's work perfectly but now i have a question in this scenario:

1) The user type, the TextArea grow up for many rows and then the message is post to the server.

2) After the post, i clean the TextArea with $('myTextArea').value='' but it's not shrink as expected and still have many rows when in real must back to the original size.

I notice inside the code of the TextExpander (http://yuilibrary.com/gallery/buildtag/text-expander/gallery-2010.03.23-17-54) exist a method called "shrink_area" but how i can call this method
$('myTextArea').shrink_area() ?
(i know is a wrong line of code but i need to obtain something like this) or what is the best way ?

Thanks in advance for the suggestions and tips.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如痴如狂 2024-09-22 16:25:38

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

Textarea has rows and cols properties for changing the size. Try setting these.

甜心小果奶 2024-09-22 16:25:38

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

因此,为了尝试调用插入类的内部方法(很高兴知道如何做,可能使用自定义命名空间),我编写了一个小函数来实现这一点。

1) 首先,我在类中设置 CSS 属性 min-height

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

下面的代码显示了可以解决这个问题的函数

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

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

Oh well i solved the problem myself.

So instead to try to call the internal method of the plugged class (that was nice to know how to do, probably using a custom namespace) i wrote a little function that do the trick.

1) first of all i set the CSS property min-height in the class

2) after clear the TextArea i set the height as the min-height

the code below shown the function that do the trick

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

    // shrink
    $(element).style.height = $(element).style.minHeight;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文