0
私はコンテンツを編集可能なGWT DivElementのインスタンスを持っていますが、これにはいくつかの要素を動的に追加しています。親DivElementインスタンスに子要素を追加するたびにイベントを発生させることはできますか?GWTの親DivElementインスタンスに子要素の追加または削除に関するイベントを発生させることはできますか?
私はコンテンツを編集可能なGWT DivElementのインスタンスを持っていますが、これにはいくつかの要素を動的に追加しています。親DivElementインスタンスに子要素を追加するたびにイベントを発生させることはできますか?GWTの親DivElementインスタンスに子要素の追加または削除に関するイベントを発生させることはできますか?
MutationObserverを使用すると、必要な処理を行うことができます。
DivElementにObserverを設定し、childList
個の突然変異を観察します。 MutationRecord
には、addedNodes
リストを得ることができます。
はMutationObserverにはネイティブGWTのサポートはありませんので、あなたは、JSNIを使用する必要があります。
private native void addListener(Element elem) /*-{
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if(mutation.type == 'childList') {
// mutation.addedNodes contains nodeList of added nodes
$wnd.alert('Nodes added');
}
});
});
// configuration of the observer:
var config = {
childList : true
};
// pass in the target node, as well as the observer options
observer.observe(elem, config);
}-*/;
ちょうどあなたのDivElementにaddListener(div);
を呼び出します。