我有个问题。我希望能够在同一页面上实例化多个 Seadragon Viewer 对象。一切都很好,除了我编写了事件处理程序(如单击、鼠标等)并且我希望它们是通用的。
但是,似乎无法知道该事件被称为哪个 Seadragon 查看器。例如,所有 jQuery 事件都可以调用“this”来引用触发事件的元素。到目前为止,我发现的唯一方法是将我的 Seadragon 查看器声明为全局变量,这不是很优雅......
海龙事件有“这个”等价物吗?
我有个问题。我希望能够在同一页面上实例化多个 Seadragon Viewer 对象。一切都很好,除了我编写了事件处理程序(如单击、鼠标等)并且我希望它们是通用的。
但是,似乎无法知道该事件被称为哪个 Seadragon 查看器。例如,所有 jQuery 事件都可以调用“this”来引用触发事件的元素。到目前为止,我发现的唯一方法是将我的 Seadragon 查看器声明为全局变量,这不是很优雅......
海龙事件有“这个”等价物吗?
我为我声明的所有 Seadragon Viewer 对象使用了一个数组,得到了一个稍微优雅的解决方案。因此,我将 SD 查看器的引用存储在全局数组中。用于使 Seadragon 对象生成的每个元素都具有“Seadragon”类。
当事件被触发时,我会:
var id = $(this).closest('.SeadragonViewport').attr('id'); var cSDObj = g_SDObjects[id];
其中 cSDObj 是我应该使用的当前 Seadragon 对象。
我愿意接受任何比这个更好的建议,但到目前为止,它奏效了!