我正在使用第三方产品。它在页面上使用 JavaScript(非 JQuery)代码动态生成 DOM 元素。
每当此第三方代码生成与给定选择器匹配的 DOM 元素时,是否可以运行 jQuery 脚本?
换句话说,我不想尝试与该代码集成。我只想观察要创建的某些元素,这是运行我自己的自定义 jQuery 的提示。
最佳答案
除了 Reinis 提到的 DOM 突变事件,我可以想到三个选项:
1) 如果你只想对新元素进行事件处理,你可以使用 jQuery Live
2) 您可以使用 setTimeout 定期检查 DOM 是否有新元素。
3) 如果你想深入研究第三方代码(为了理解,而不是直接修改),你可以提供一个功能覆盖,当他们的功能执行时明确地通知你
var oldFunc = thirdParty.theirFunc;
thirdParty.theirFunc = function(){
oldFunc();
// alert myself of the change.
myDomChangedFunction();
};
这样你实际上并没有直接修改他们的源代码,只是在功能上:)
关于javascript - 基于动态生成的 DOM 元素运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1538450/