自动调整jQuery插件,触发autosize.update

Arv*_*rvy 4 javascript jquery autosize

我正在使用Autosize自动调整文本框的大小(高度).该插件是JS,但可以用作jQuery插件(在网站中解释).作者解释了当您使用JavaScript更改文本时如何触发手动"更新"事件(JS).我需要做同样的事情,但是使用jQuery"mode",因为我正在使用Ajax动态创建文本框.尝试触发()没有成功.

autosize(ta); /*Pure JS*/
ta.value = "Something really long";
var evt = document.createEvent('Event');
evt.initEvent('autosize.update', true, false);
ta.dispatchEvent(evt);
Run Code Online (Sandbox Code Playgroud)

这是我的一段源代码:http://pastebin.com/049UfkGv - 在$(this).autosize()之后; 我需要触发"autosize.update"事件来将文本框重新设置为其新内容.

jQuery代码:

 $(document).ready(function(){
  window.jQuery.fn.autosize=function(){ return autosize(this); };
 });

 $('.edit4').each(function(){
   $(this).keypress(function(event) { if (event.keyCode==13) { event.preventDefault(); };
   $(this).autosize();
 });
Run Code Online (Sandbox Code Playgroud)

谢谢!

use*_*668 11

您可以按如下方式使用它:

autosize.update($('textarea'));
Run Code Online (Sandbox Code Playgroud)


Ste*_*ogt 9

在我的情况下,Autosize jQuery插件无法计算正确的高度,因为textarea隐藏在pageload上.

下面的跳跳虎帮助了我:

function showMyTextarea(){

  // do your stuff here

  // trigger autosize     
  $('textarea').trigger('autosize.resize');

}
Run Code Online (Sandbox Code Playgroud)