我有个问题。我希望能够在同一页面上实例化多个Seadragon Viewer对象。一切都很好,只不过我已经编写了事件处理程序(如click,mousemouse等),并且希望它们是通用的。

但是,似乎没有办法知道在什么Seadragon Viewer上调用了该事件。例如,所有jQuery事件都可以调用“ this”来引用触发事件的元素。到目前为止,我发现的唯一方法是将我的Seadragon查看器声明为Global Variables,这并不是超级优雅。

Seadragon活动是否有“ this”等价物?

最佳答案

对于我声明的所有Seadragon Viewer对象,使用数组得到了一个稍微优雅的解决方案。因此,我将SD Viewer的引用存储在全局数组中。用于实例化Seadragon对象的每个元素都具有“ Seadragon”类。

事件触发后,我会:

var id = $(this).closest('。SeadragonViewport')。attr('id');
var cSDObj = g_SDObjects [id];

其中cSDObj是我应该使用的当前Seadragon对象。

我愿意接受任何比这更好的建议,但到目前为止,它行得通!

08-19 19:13