JQuery文档准备好了和ajax

时间:2014-04-22 11:00:19

标签: jquery ajax

我必须调整我的页面的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标记?

1 个答案:

答案 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 ...