私は自分のウェブページ内のセルの内容の変更を傍受する必要があります。javascriptでinnerHTMLの変更をインターセプトする方法は?
次のコードは、addEventListenerが機能しないことを示しています。
function modifyText() {
alert("!");
}
var el=document.getElementById("mycell");
el.innerHTML="a"
el.addEventListener("change", modifyText, false);
// After next instruction I expect an alert message but it does not appear...
el.innerHTML="Z";
コードは単なるおもちゃの例です。私の実際のケースでは、ページ内の変更(したがってセル内での変更)は、私が制御できないwebappによって行われます。
これはどのブラウザタイプでテストしていますか? IEが非標準の.attachEvent()メソッドを使用することを覚えておいてください。 –
最初に変更はどのように起こっていますか?あなたが「ウェブアプリケーション」と言うと、ページコンテンツを構築して返すサーバーサイドのアプリケーションを意味します。そうであれば、変更はJavaScriptのコードでは検出できません。なぜなら、JavaScriptのスコープが適用される前にサーバー上で「変更」が行われたからです。ページ上のJavaScriptの観点からは、変更はありませんでした。 – David