3

このようなスパンがあるとしましょう

<span id="theSpan"></span>

WebKitMutationObserver を使用して (Chrome の拡張機能を開発しているので、クロスブラウザーの問題について心配する必要はありません)、スパン (innerText) 内の変更をリッスンするにはどうすればよいですか? すなわち。これを行うとイベントが発生するはずです:
Javascript

$("#theSpan").text('hello world');

HTML

<span id="theSpan">Hello World</span>
4

2 に答える 2

6

インスタンスを作成しWebKitMutationObserver、それを<span>usingobserveメソッドにアタッチするだけです。コードは次のようになります。

// find element and create an observer instance
var target = $('#theSpan');
var observer = new WebKitMutationObserver(function(mutations) {
    $('#log').text('input text changed: "' + target.text() + '"');
});
observer.observe(target[0], { childList: true});
//observer.disconnect(); - call this to stop observing

// test case
setInterval(function(){
    target.text('hello world ' + Math.random() + '!!!');
},1000);
​

jQuery オブジェクトではなく、実際の DOM オブジェクトをオブザーバーに渡すことを忘れないでください。ここで利用可能なワーキングフィドル

于 2012-11-21T18:43:13.800 に答える