1

我有个问题。我希望能够在同一页面上实例化多个 Seadragon Viewer 对象。一切都很好,除了我编写了事件处理程序(如单击、鼠标等)并且我希望它们是通用的。

但是,似乎无法知道该事件被称为哪个 Seadragon 查看器。例如,所有 jQuery 事件都可以调用“this”来引用触发事件的元素。到目前为止,我发现的唯一方法是将我的 Seadragon 查看器声明为全局变量,这不是很优雅......

海龙事件有“这个”等价物吗?

4

1 回答 1

0

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

当事件被触发时,我会:

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

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

我愿意接受任何比这个更好的建议,但到目前为止,它奏效了!

于 2012-09-25T14:34:52.350 回答