GWT and Javascript
GWT and Javascript
无法在 GWT java 类中从 javascript 调用 javamethod。
请从下面找到代码片段。
package abc;
public class jsclass extends Composite {
public native boolean getOnlineSchedlueResult() /*-{
function listener(event) {
//alert("getOnlineScheduleResult called 2 Outside");
var data = JSON.parse(event.data);
if(data.FinderSuccess == true){
parent.onlineMoveNavigation = this.@abc.jsclass::onlineMoveNavigation()();
}
}
if (parent.addEventListener){
//alert("parent getOnlineScheduleResult called 3");
parent.addEventListener("message", listener, false);
//alert("getOnlineScheduleResult called 3A");
parent.postMessage("test", "*");
} else {
//alert("getOnlineScheduleResult called 4");
parent.attachEvent("onmessage", listener);
parent.postMessage("test", "*");
}
}-*/;
public void onlineMoveNavigation(){
GWT.log("onlineMoveNavigation called");
presenter.moveNavigationNext();
}
}
当浏览器调用 listener
时,this
关键字的计算结果不会计算到您的jsclass
实例。
您必须将jsclass
实例绑定到可以从listener
函数/闭包引用的变量。
var self = this;
function listener() {
//alert("getOnlineScheduleResult called 2 Outside");
var data = JSON.parse(event.data);
if(data.FinderSuccess == true){
parent.onlineMoveNavigation = self.@abc.jsclass::onlineMoveNavigation()();
}
}
相关文章:
- JavaScript and LiveView (TIBCO Live Datamart)
- Javascript and onMouseOver
- javascript and css firefox issue
- geolocation with javascript and ruby on rails
- Javascript and the DOM issues
- Javascript and Java Communication
- Javascript and Knockout
- Javascript and Css: Height does not change
- javascript and Internet Explorer 8
- Javascript and html, UI construction
- Javascript and Lightbox
- javascript and css styling
- JavaScript and URL parameters
- Javascript and singleton pattern
- Javascript and Ajax Calls
- OAuth, javascript and many URI's
- Javascript and AJAX post method
- javascript and web services WSDL
- javascript and webview in android
- Javascript & and | symbols