目前在我的一个项目中,我正在劫持一个 div 的 appendChild 方法并将其代理给我自己的一个。这一切正常,但在劫持它后 appendChild 属性出现在 dom 中,这种行为只发生在 IE7/IE8 中。在使用了开发人员工具后,我注意到如果您单击“显示只读属性”,您可以看到所有 HTMLDivElement 原型的函数,但已修改的函数不再被视为只读。我的问题是,是否可以再次将被视为 dom 元素属性的函数设为只读?同样对于奖励积分,如果我可以像刚才那样继续并覆盖该功能,那么首先那个 readonly 标志的意义何在?
也只是为了确保我得到它,我只在 IE7 和 IE8 中看到这种行为。
例子:
<div id="element1">
</div>
var domElement = document.getElementById('element1');
domElement['appendChild'] = function newAppendChild() {....}
但是 div 现在在 dom 中显示为
<div id="element1" appendChild="function newAppendChild() {...}"></div>
最终目标是不显示 appendChild。