0
我想從GWT調用一個JavaScript函數,該函數接受由UiBinder創建的元素的元素ID。函數失敗,因爲它找不到那個元素。一些調試後,我發現這種奇怪的行爲:DOM元素無法從JavaScript調用GWT本機功能
log.info(DOM.getElementById("MyId").getAttribute("id"));
ScriptInjector.fromString("console.log(document.getElementById(\"MyId\"))").inject();
checkMyId();
log.info(DOM.getElementById("MyId").getAttribute("id"));
結果:
MyId
null
null
MyId
checkId
被定義爲:
public static native void checkMyId()/*-{
console.log(document.getElementById("MyId"));
}-*/;
兩個ScriptInjector
和本機的功能似乎已經到了元素有限相比於DOM#getElementById
。這種行爲的原因是什麼?我怎樣才能調用JavaScript函數,以便它可以訪問該元素?
我試過用gwt 2.8.0-beta1和2.8.0-rc1來得到相同的結果。