私は二番目の答えを投稿しています。私は、DIVがどのように親に追加されるかを変更できないことを知っています。
検索の結果、Mutation eventsが見つかりました。
JS:あなたはJSNIメソッドを使用する必要がGWTでは
myDiv.addEventListener("DOMNodeInserted", function (ev) {
alert('added');
}, false);
:彼らはあなたがDOMNodeInserted
イベントを聞くことができるよう
private native void addListener(Element elem) /*-{
elem.addEventListener("DOMNodeInserted", function (ev) {
$wnd.alert('added');
}, false);
}-*/;
それは動作しますが、...それは廃止予定です。代わりにMutationObserverを使用してください。
残念ながらMutationObserver
には、NodeInsertedイベントを監視しません。私はsubtree
突然変異の観察は仕事をするだろうと思ったが、それは私のために働かなかった。 GWTのために、あなたは(あなたがどのように知っている)JSNIメソッドでそれをラップする必要があり、再び
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
alert(mutation.type);
});
});
// configuration of the observer:
var config = {
childList: true
};
// pass in the target node, as well as the observer options
observer.observe(elem, config);
そして、:
JS:ソリューションはchildList
親の変異を観察することです。
オブザーバコールバックのパラメータmutation
はMutationRecordオブジェクトです。
親を得ることができる場合は、MutationObserverを使用してchildList
の突然変異を観察します。そうでない場合は、廃止予定のMutationイベントを使用してみてください。
私は、これは純粋なGWTのソリューションではないことを知っていますが、イベントや変異を処理するためにGWTのメソッドを使用することができます。あなたはこのようGWT方法フォームJSNIを呼び出す必要があります:
[instance-expr.]@class-name::method-name(param-signature)(arguments)
あなたはGWT documentation内のすべてのJSNIの情報を見つけることができます。
残念ながら、親が 'myDiv'を追加する方法を変更することはできません。もし私ができれば、何らかの方法で親に要素を追加した直後に、 "手で"それを処理します。 –