用于节点创建的DOM回调

每当满足某个选择器的div插入DOM时,我想要执行某个回调。 我已经探讨了DOM事件文档,而我发现的最接近的事件是“加载”,但它并不像我希望的那样完成。

理想情况下,我想要的是:

$(".myclass").live("load", function(){... do stuff to $(this) ...} 

给出我正在做的事情的一些背景:

我在网页上有一个事件,每次点击某个按钮时都会创建新的表单。 修改JS代码是非常不受欢迎的。 我想将表单中的一个字段转换为jstree,因此我能想到的唯一方法是为插入到DOM事件附加一个回调并在func中附加一个jstree。


更新:我发现DOMNodeInserted,但显然它在IE中不受支持。

大规模警告:不推荐使用DOM级别3中定义的DOMMutationEvents 。

 document.addEventListener("DOMNodeInserted", function (ev) { var node = ev.target; if (careAbout(node)) { runCode(ev); } }); 

DOM事件级别2中记录了DOMNodeInserted事件。

当然浏览器支持是平庸的。

在非兼容浏览器中模拟此操作的唯一方法是轮询整个DOM,以确定树是否已更改并手动触发事件。 这也像地狱一样昂贵

但你真正的问题是:

修改JS代码是非常不受欢迎的

你有糟糕,丑陋,不可维护的代码。 忽略它不会解决问题。 踩着它不会让它消失。 最好的办法是重构,重构,重构。