我试图以某种方式覆盖HTMLElement的构造函数(特别是HTMLDivElement),这样无论何时通过任何方式创建,我都可以运行一些自定义逻辑.
显然这不起作用:
HTMLDivElement.prototype.constructor = function()
{
alert('div created!');
}
有没有办法解决这个问题?即使有一种方法可以在创建新元素(不是页面源HTML的一部分)时获得某种事件/触发器,这将是有帮助的.
编辑:也许我们可以用Mozilla的手表/非手表方法来观察变化吗?
我要去见地狱:
document.createElement = (function (fn)
{
return function (tagName)
{
var elem = fn.call(document, tagName);
alert('just created a new ' + elem.tagName);
return elem;
};
})(document.createElement);
Run Code Online (Sandbox Code Playgroud)