我在从查看器中删除处理程序时遇到了问题。
viewer.addHandler('viewport-change', function() {
// do stuff works
});
viewer.addHandler('zoom', function() {
if (viewer.viewport.getZoom() > threshold) {
viewer.removeHandler('viewport-change', function() {
console.log("removed");
});
console.log("Zoom:" + viewer.viewport.getZoom());
}
});我可以看到带有缩放因子的输出,但我从未看到“删除”输出。而且,仅仅添加和删除“”-handler也没有起作用。removeAllHandlers似乎起作用了,但我只能删除一个处理程序。
我真正想做的是一种类似于滑动效果的东西。如果图像没有放大,左边的边缘到达查看者的边框,我想显示下一个图像。也许有更好的方法来做到这一点。
提前感谢
发布于 2019-07-03 21:47:36
为了使removeHandler工作,它需要与您在addHandler中使用的函数完全相同,如下所示:
var viewportChangeHandler = function() {
// do stuff works
};
viewer.addHandler('viewport-change', viewportChangeHandler);
viewer.addHandler('zoom', function() {
if (viewer.viewport.getZoom() > threshold) {
viewer.removeHandler('viewport-change', viewportChangeHandler);
console.log("Zoom:" + viewer.viewport.getZoom());
}
});也就是说,如果您想要做的只是检测said,那么只需在canvas-drag上使用一个处理程序(再加上您自己编写的一些附加逻辑)就足够了。
https://stackoverflow.com/questions/56838349
复制相似问题