2012-09-25 33 views
0

我遇到問題。我希望能夠在同一頁面上創建多個Seadragon Viewer對象。一切都很好,除了我寫了事件處理程序(如click,mousemouse等),我希望它們是通用的。Seadragon事件 - 事件發生時獲取Seadragon查看器

然而,似乎沒有辦法知道什麼海龍觀衆的情況下被調用。例如,所有jQuery事件都可以調用「this」來引用事件觸發的元素。我迄今發現的唯一辦法是宣佈我的海龍觀衆爲全局變量,這是不是超級優雅...

是否有一個「本」等同爲海龍事件?

+0

考慮爲此使用Javascript關閉。 http://stackoverflow.com/questions/111102/how-do-javascript-closures-work –

回答

0

我使用所有的海龍瀏覽器對象我聲明數組的稍微優雅的解決方案。所以,我將SD Viewer的參考存儲在全局數組中。每個用於插入Seadragon對象的元素都具有類「Seadragon」。

當事件被觸發,我做的:

VAR ID = $(本).closest( 'SeadragonViewport。 ')ATTR(' ID')。 var cSDObj = g_SDObjects [id];

其中cSDObj是我應該使用的當前Seadragon對象。

我打開比這更好的任何建議,但到目前爲止,它workd!