Hay un plugin de jquery muy simple: autotextarea. Me gustaría enseñarle un pequeño truco nuevo: cambiar el tamaño inicialmente para compensar el texto que se proporciona en el formulario, en lugar de esperar la primera pulsación de tecla. ¿Puede algún alma amable por favor decirme qué tipo de controlador agregarle además de la onkeyup?jquery área de texto de crecimiento automático versus texto inicial
Aquí está el plugin in question.
Simplemente agregando una llamada para crecer (esto) a la función de inicialización no funciona - al parecer, en el momento en que se llama, el diseño no está completo, y el ancho efectivo es pequeño, por lo que obtienen demasiado alto. Aquí está mi versión modificada: el único cambio es la llamada al grow
.
//Public Method
jQuery.fn.autoGrow = function(){
return this.each(function(){
setDefaultValues(this);
grow(this);
bindEvents(this);
});
};
EDITAR:
La ejecución de este en document.ready() no funciona, porque el atributo cols del área de texto no se calcula todavía. Sin embargo, se me ocurrió algo, y tal vez puedas ayudarme a limpiarlo. En lugar de prestar atención a cols
, uso $ (txtArea) .width(), y luego lo divido por el ancho de un div oculto que contiene un caracter tipico. Todo está bien, excepto por la necesidad de poner el div oculto en cada página. ¿Tienes alguna sugerencia para fabricar u obviar ese div?
típica área de texto HTML:
<textarea name="text[0]">歐洲 聯盟 研究 論壇 研討會 議程表 主題 : 歐盟 新憲 的 困境 與 挑戰 日期 : 九十四 年 九月 二日 (星期五) 09 : 00~ 13 : 30 地點 : 台北市 福華 大 飯店 四 樓 CR 403 (台北市 仁愛路 三 段 160 號) 主辦 單位 : 歐洲 聯盟 研究 論壇 (European Union Research Forum , EURF) 國立 政治 大學 國際 關係 研究 中心 起迄 時間 流程09 : 00 -09 : 10 報 到 09 :10 -09 : 20 開場 林碧炤 (政治 大學 副校 長) 9 : 20 - 10 : 20 第一 場 : 歐盟 公投 後 的 衝突 主持人 尤清 (立法委員) 引言人 1. </textarea>
y CSS relevante:
textarea {
width: 100%;
font-family: Arial, simsun;
font-size: 16px;
}
¿Puede proporcionarnos un enlace al complemento que está utilizando? –
Sí, agregué el enlace. – bmargulies
¿Intentó usar '$ (ventana) .load (función() {...})' en lugar de document.ready? – Mottie