我必须调整我的页面的textArea标签,它们具有类:textAreaGroup
首先只加载两个textArea标签然后使用ajax,我加载其他标签。
我有这段代码:
jQuery(document).ready(function(){
var orig_h;
jQuery(".textAreaGroup").on("focus", function(){
orig_h=jQuery(this).height();
jQuery(this).height( jQuery(this)[0].scrollHeight );
}).on('blur', function(){
jQuery('.textAreaGroup').height(orig_h)
});
});
它仅适用于两个第一个textArea标记,并且不适用于通过Ajax加载的新标记。
如何使此代码可用于所有textArea标记?
答案 0 :(得分:0)
你可以试试这个,你在函数中设置选择器来创建事件委托:
jQuery(document).ready(function() {
jQuery('form').on('click', '*', function(){
if(this.nodeName === "TEXTAREA") {
var hght = this.scrollHeight;
jQuery(this).css({'height':hght + 'px'})
}
else {
jQuery('textarea').attr('style', '');
}
})
});
即使它没有使用focus()
和blur()
事件,结果也是一样的。
A working fiddle ...