我有个问题。我希望能够在同一页面上实例化多个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对象。
我愿意接受任何比这更好的建议,但到目前为止,它行得通!