2013-02-07 112 views
0

目前在我的一个项目中,我劫持了div的appendChild方法并将其代理到我自己的一个方法中。这工作得很好,但是在劫持它之后,appendChild属性出现在dom中,这种行为只发生在IE7/IE8中。玩过开发人员工具之后,我发现如果单击“显示只读属性”,您可以看到所有HTMLDivElement原型的功能,但已修改的功能不再视为只读。我的问题是,是否有可能使该函数被再次视为dom元素属性?同样对于奖励积分,如果我可以继续并像我刚刚那样重写那个函数,那么首先只读标志的重点是什么?是否可以使dom属性只读?

此外,只是为了确保我得到它,我只看到这种行为在IE7和IE8。

例如:

<div id="element1"> 
</div> 

var domElement = document.getElementById('element1'); 
domElement['appendChild'] = function newAppendChild() {....} 

但股利现在出现在DOM作为

<div id="element1" appendChild="function newAppendChild() {...}"></div> 

的最终目标将是不具备的appendChild已经显示出来。

+0

您可以发布演示?我无法想象这种情况... – elclanrs

+1

你真的想要解决什么问题?在我看来,你是在替换一个内置的方法,然后试图使它成为只读的,当可能有更好的方法来处理你正在尝试解决的实际问题时,你会陷入一片混乱。 – jfriend00

回答