全屏显示后,EventHandlers的GWT外部JavaScript集成(OpenSeadragon)问题

问题描述 投票:0回答:1

在我的GWT项目中,我目前集成了一个外部JavaScript程序包OpenSeadragon(请参见here),它是具有Zoo,旋转和全屏功能的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中的事件处理程序或其他解决方法?

真诚地,

Erik

javascript java gwt gxt openseadragon
1个回答
0
投票
var viewer = $wnd.OpenSeadragon({ element: where, showRotationControl: true, prefixUrl: "scripts/openseadragon-bin-2.4.2/images/", tileSources: ressource, }); viewer.addHandler("pre-full-page", function (data) { data.preventDefaultAction=true; openFullscreen(); }); function openFullscreen() { if (where.requestFullscreen) { where.requestFullscreen(); } else if (where.mozRequestFullScreen) { where.mozRequestFullScreen(); } else if (where.webkitRequestFullscreen) { where.webkitRequestFullscreen(); } else if (where.msRequestFullscreen) { where.msRequestFullscreen(); } }
© www.soinside.com 2019 - 2024. All rights reserved.