Ich möchte von GWT eine JavaScript-Funktion aufrufen, die Element-ID des Elements von UiBinder erstellt akzeptiert. Funktionen schlagen fehl, weil das Element nicht gefunden werden kann. Nach einigen Debuggen fand ich dieses seltsame Verhalten:DOM Element nicht zugänglich von Javascript aus GWT native Funktion
log.info(DOM.getElementById("MyId").getAttribute("id"));
ScriptInjector.fromString("console.log(document.getElementById(\"MyId\"))").inject();
checkMyId();
log.info(DOM.getElementById("MyId").getAttribute("id"));
Ergebnisse in:
MyId
null
null
MyId
checkId
ist definiert als:
public static native void checkMyId()/*-{
console.log(document.getElementById("MyId"));
}-*/;
Sowohl ScriptInjector
und native Funktionen eingeschränkten Zugriff auf Elemente zu haben scheinen im Vergleich zu . Was ist der Grund für dieses Verhalten? Wie kann ich JavaScript-Funktion aufrufen, damit es auf dieses Element zugreifen kann?
Ich habe versucht mit gwt 2.8.0-beta1 und 2.8.0-rc1 mit den gleichen Ergebnissen.