23

Web ページ内のセルのコンテンツの変更をインターセプトする必要があります。

次のコードは、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 によって行われます。

4

3 に答える 3

9

そのように DOM 要素をリッスンすることはできませんchangechangeイベントは主input

これに役立つ新しい DOM 3 イベントが他にもいくつかあります。

ここにいくつかあります:

DOMCharacterDataModified //ドラフト

DOMSubtreeModified

于 2011-09-11T21:22:16.113 に答える
1

これはDOMの変更を検出/監視する最も効率的な方法ですか? ヘルプ?

100% クロス ブラウザー ソリューションはないようです。回避策の 1 つは、対象の要素をポーリングして、innerHTML.length が変化するかどうかを確認することです。

于 2011-09-11T21:22:55.690 に答える