2

何らかの方法で div の DOM の変更を監視できる場合、それが私の解決策になります。これでイベント ハンドラーを起動するのに十分ですが、それが不可能な場合は、これが私の問題です。

私は div を持っています。いくつかの JavaScript 関数 (私の制御外) は、この div に画像を追加または削除します (複数の div/span にネストされている可能性があります)。

この特定の画像が追加されたかどうかにかかわらず発生するイベントを (可能であれば jQuery を使用して) 添付する必要があります。

編集:明確にするために-追加したと言うとき-表示属性のある種の切り替えを意味するのではなく、文字通り完全に追加または完全に削除することを意味します。

4

1 に答える 1

2

その目的でミューテーションイベントを使用できます。これらのイベントの一部は現在廃止されていることに注意してください。

$('div').on( 'DOMSubtreeModified', function( event ) {
   // something was changed
});

いくつかのノードが追加されたかどうかを知る必要がある場合は、

$('div').on( 'DOMNodeInserted', function( event ) {
   // something was changed
});

event object、正確に何が起こったかについての詳細情報を提供します。


別の方法を求めたので、jQuerylivequeryプラグインがあります。AFAIK、可能な場合はミューテーションイベントも使用しますが、jQueryがサポートするすべてのブラウザーと互換性があると主張しています。つまりintervall timers、互換性のないブラウザでの変更をチェックするために、フォールバックソリューション(ほとんどの場合)を使用します。

さらに読む:突然変異イベント

于 2012-07-31T10:44:00.977 に答える