【发布时间】:2020-08-06 20:15:06
【问题描述】:
在我的 GWT 项目中,我目前集成了一个外部 JavaScript 包 OpenSeadragon(参见 here),它是一个具有动物园、旋转和全屏功能的 ImageViewer。到目前为止,它大多运作良好。唯一令人讨厌的问题是,从全屏模式返回后,再也无法点击任何内容。 我认为这种非常不受欢迎的行为的原因是,当 openseadragon 全屏显示时,它会将所有其他 Dom 元素移开(有关详细信息,请参阅this bug)。 代码如下:
public native void createZoomeImage(String ressource, Element where, SingleImageEditor sie)
/*-{
var viewer = $wnd.OpenSeadragon({
element: where,
showRotationControl: true,
prefixUrl: "scripts/openseadragon-bin-2.4.2/images/",
debugMode: true,
tileSources: ressource
});
viewer.addHandler("full-screen", function (data) {
if(data.fullScreen == false){
$wnd.activatepanel(sie);
}
});
}-*/;
Handler是我加的,因为一开始我想,再次激活面板就够了。 ($wnd.activatepanel(sie); 确实引用了一个 java 方法,它就是这样做的)。然而这并没有改变任何事情。
现在,我的问题是:有人知道在 GWT 中刷新事件处理程序的优雅方法或其他解决方法吗?
此致,
埃里克
【问题讨论】:
-
如果这个项目使用一些新的/最新版本的 gwt,我建议从 jsni 迁移并改用 jsinterop。
标签: javascript java gwt gxt openseadragon