对新的 DOM 元素使用相同的函数

Use same functions for new DOM elements

本文关键字:函数 元素 DOM      更新时间:2023-09-26

在我的网站上,我使用jQuery自动大小库。

它用于文本区域,并在我的javascript.js文件中定义,只有:

$(".autosize").autosize();

问题是,当我想使用 ajax 将新的文本区域加载到我的站点中时,我需要在 ajax 返回中再次写入它。外汇:

<textarea name='something' class='autosize'></textarea>
<script type='text/javascript'>
    $(".autosize").autosize();
</script>

插入到 DOM 中的新文本区域是否无法根据我的标头中的 javascript.js 文件自动"操作"?

仅供参考,这个问题简化了很多,真实案例的规模要大得多。

当您使用 ajax 添加项目时,您可以在全局 js 文件中执行以下操作。

$(document).ajaxSuccess(function() {
   $(".autosize").autosize();
});

使用已弃用的 DOMNodeInsert 侦听器

 $('body').on('DOMNodeInserted', '.autosize', function(e) {
       $(".autosize").autosize();
    });
相关文章: