0

現在、私のプロジェクトの 1 つで、div の appendChild メソッドをハイジャックし、それを自分のプロジェクトの 1 つにプロキシしています。これはすべて正常に機能しますが、乗っ取った後、appendChild 属性が dom に表示されます。この動作は IE7/IE8 でのみ発生します。開発者ツールをいじってみると、「読み取り専用プロパティを表示」をクリックすると、HTMLDivElement プロトタイプのすべての関数が表示されますが、変更されたものは読み取り専用ではなくなっていることに気付きました。私の質問は、dom 要素属性として扱われているその関数を再度読み取り専用にすることは可能ですか? また、おまけとして、先ほどのようにその関数をオーバーライドできるとしたら、そもそもその読み取り専用フラグのポイントは何ですか?

また、私がそれを理解していることを確認するために、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 に答える