我想开发一个GWT javascript应用程序,它必须与flex小部件交互并从2个方向触发事件(flex到GWT和GWT到flex)
例如,我在GWT中开发了一个名为onWidgetSelected(int widgetID){ ...}
的函数,生成的javascript代码不包含此函数的名称。所以,如果我想通过javascript调用flex调用它,我该怎么办?
答案 0 :(得分:2)
@cwallenpoole正确地向您展示了如何从Flex调用JS。但是由于GWT产生混淆的JS,你将无法通过其本机名称调用GWT Java方法。
为了完成这项工作,您需要按照此处所述“导出”该方法:http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html#calling
答案 1 :(得分:0)
每当你想谈论JS和AS相互交谈时,你需要考虑Flash中的EnternalInterface类。在这种情况下,听起来您想要拨打addCallBack并致电
EnternalInterface.addCallBack("onWidgetSelected",onWidgetSelected);
在JS中:
document.getElementById("#swf-id").onWidgetSelected( 1 );
从AS调用JS:
EnternalInterface.call("alert",1);