javascript - 基于动态生成的 DOM 元素运行脚本

标签 javascript jquery

我正在使用第三方产品。它在页面上使用 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/

相关文章:

javascript - React.js,特定 Prop 的事件监听器onChange?

javascript - Webpack:找不到 bundle.js

javascript - PHP 从 Ajax 调用接收空的 $_POST 变量

javascript - 当使用 jquery 单击另一个按钮时禁用按钮

jquery - 提交表单后保留当前选项卡

javascript - 使用生成的 json 对象代替 d3.json

javascript - 创建具有附加属性和时刻的一系列工作日

javascript - jQuery UI 自动完成定位问题

javascript - 如何检查crop div是否覆盖旋转图像?

javascript - Highcharts 自定义工具提示