AnA*_*ice 4 jquery jquery-plugins
我一直在努力创建一个自动调整大小的textarea(就像在FB上一样),在你键入时调整大小.那里有一些插件.问题是它们都只有99%.缺少的是:
请看这里:http://jsfiddle.net/uzjdC/3/
任何想法为什么它闪烁调整大小?键入一些文本,然后按Enter键查看它..
谢谢
雅虎 我找到了解决方案!你的例子非常引起我的兴趣,这就是为什么我决定在jsFiddle中试图解决你的闪烁问题.闪烁是由于TextArea"有太多文本"和一些滚动发生的事实.该keyup活动没有能够击败这个滚动条,但...... scroll事件就是这样!
HTML:
<textarea id="tst" rows="1" cols="40">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque interdum porttitor neque eget consequat. Sed faucibus purus vitae felis facilisis bibendum.</textarea>
Run Code Online (Sandbox Code Playgroud)
CSS:
textarea{
overflow:hidden;
overflow-x:hidden;
overflow-y:hidden;
padding:10px;
}
Run Code Online (Sandbox Code Playgroud)
要进行升迁我正在使用我用这个函数调整了区域的大小:rowsTextArea 的属性.我把它写成了一个函数:
//resize text area
function resizeTextArea(elem){
elem.height(1);
elem.scrollTop(0);
elem.height(elem[0].scrollHeight - elem[0].clientHeight + elem.height());
}
Run Code Online (Sandbox Code Playgroud)
现在我们只需要绑定resize:
//inital resize - on document load
resizeTextArea($('#tst'));
//bind events
$('#tst').bind('scroll keyup', function(){
resizeTextArea($(this));
});
Run Code Online (Sandbox Code Playgroud)
注意:不会发生闪烁!为什么?因为活动的使用scoll!您可以在这里尝试解决方案:http://jsfiddle.net/KeesCBakker/2D8Kf/
祝好运!
编辑:更改了jsFiddle示例中的代码,以支持动态添加textareas的方案.检查这个问题.
| 归档时间: |
|
| 查看次数: |
2133 次 |
| 最近记录: |