需要明确的是:我并不是在问如何将现有的钩子(Hook)放到新的 DOM 元素上。我了解 live() 函数和旧的 livequery 插件。我问的是别的事。
我想知道的是如何 Hook 新 DOM 元素的创建。我问的原因是我正在创建一个无法控制第一方脚本的第三方用户 JS 脚本。这些第一方脚本(经过混淆)通过添加新的 DOM 元素定期更新页面。我想在添加这些元素后执行代码。
使用 $( '...' ).bind( 'ajaxSuccess', function() ..... ) 适用于某些添加,但不适用于所有添加。
最佳答案
如果它们总是通过 document.createElement 方法添加,您可以简单地替换它并在那里进行跟踪。
document.replacedCreateElement = document.createElement;
document.createElement = function(tagName) {
this.replacedCreateElement(tagName);
//do your tracking
}
关于jquery - 使用 jQuery(或纯 JS)添加新的 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/893995/