我正在使用第三方产品.它在页面上使用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();
};
Run Code Online (Sandbox Code Playgroud)
这样你实际上并没有直接修改它们的源代码,只是功能上:)