java - GWT Node or Element listen to onAttach event -


is there way handle sort of onattach event in gwt node? suppose this:

node mydiv = dom.creatediv(); magic.setonattacheventlistener(mydiv, new eventlistener() {   @override   public void onevent(event event) {     // ...   } } 

the handler should invoked when this,

parent.appendchild(mydiv); 

given parent attached itself, i.e., displayed in current window.

i post second answer know can't change way how divs added parent.

after searching found mutation events. allow listen domnodeinserted event:

js:

mydiv.addeventlistener("domnodeinserted", function (ev) {     alert('added'); }, false); 

in gwt need use jsni method:

private native void addlistener(element elem) /*-{     elem.addeventlistener("domnodeinserted", function (ev) {         $wnd.alert('added');     }, false); }-*/; 

it works, but... it's deprecated. should use mutationobserver instead.

unfortunately mutationobserver don't have nodeinserted event observed. thought subtree mutation observation job didn't work me. solution observe childlist mutation on parent:

js:

// create observer instance var observer = new mutationobserver(function(mutations) {     mutations.foreach(function(mutation) {         alert(mutation.type);     });     });  // configuration of observer: var config = {     childlist: true };  // pass in target node, observer options observer.observe(elem, config); 

and, again, gwt need wrap in jsni method (you know how).

the mutation parameter in observer callback mutationrecord object.

so, if can parent, use mutationobserver on , observe childlist mutation. if not, try use deprecated mutation events.


i know not pure gwt solution, can use gwt methods handle event or mutation. need call gwt method form jsni this:

[instance-expr.]@class-name::method-name(param-signature)(arguments) 

you'll find jsni info in gwt documentation.


Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -