0

目前在我的一个项目中,我正在劫持一个 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。

4

1 回答 1

0

使用反映该名称而不是属性的自定义事件:

于 2014-10-02T00:27:59.037 回答