我们有没有办法使用JQuery在textarea中按任何键盘键?
我的案例中的用法 有许多textareas的高度为100,默认情况下设置为onload(某些开发人员使用的JQuery Autosize的一些问题,我无权更改,我无权更改)。 textarea中显示了一些文本。如果它少说10个字符,textarea的高度将保持不变。
现在,当最终用户在Textarea中单击然后按任意按钮进行编辑时,突然textarea会调整到正常高度。
所以我希望jquery在所有textareas上加载按键(空格然后退格)。我们有没有办法使用JQuery在textarea中按任何键盘键?
答案 0 :(得分:1)
$("textarea").each(function(){
var d = $.Event('keydown');
var e = $.Event('keydown');
d.which = 32; // space
e.which = 8; // backspace
this.focus();
this.trigger(d);
this.trigger(e);
}
手动触发调整大小:
$('textarea').each(function(){
var evt = document.createEvent('Event');
evt.initEvent('autosize:update', true, false);
$(this).dispatchEvent(evt);
});
销毁自动调整大小:
$('textarea').each(function(){
var evt = document.createEvent('Event');
evt.initEvent('autosize:destroy', true, false);
$(this).dispatchEvent(evt);
});
答案 1 :(得分:0)
由于无法触发点击,因此使用以下代码来增加和减少textarea:
autoHeight: function(e) {
$(e).css({'height':'auto','overflow-y':'hidden'}).height(e.scrollHeight);
},
setTimeout(function(){
$('textarea').each(function () {
kontroll.autoHeight(this);
}).on('input', function () {
kontroll.autoHeight(this);
});
}, 200);