2012-05-03 61 views
0

我目前正在使用Seadragon Ajax技術(演示zoom.it),添加了自定義接口等。特別是,我添加了一些需要捕獲某些鼠標事件(如點擊)的疊加層,不需要捕捉其他人(如滾輪滾動)。如何檢測給定鼠標座標下的哪個HTML元素? (Seadragon)

Seadragon在滾動時使用鼠標指針位置來放大圖像的尖銳部分。我想捕捉覆蓋層上的鼠標事件,但通過其中一些它。因此,我正在尋找一種方式來實現一個功能,將:

  1. 需要兩個參數:理論鼠標的位置,垂直和水平部分
  2. 發現,表示這將捕捉到的HTML元素的DOM元素在給定的座標鼠標事件
  3. 通過鼠標事件給這個元素

的問題是,我不知道如何可靠地做第2步。 Seadragon創建了許多包含圖形貼圖的div,每次平移或縮放圖像時都會發生變化。因此,我不能僅僅索引它,我需要一種方法來實時檢測它。

我會很感激任何幫助和/或想法。

+0

一種方式(雖然效率不高)可能會迭代DOM元素,並查找給定的位置是否在元素的邊界內。如果這種方法是可以接受的,我可以給出一些samplt代碼來說明如何去做 –

+0

不幸的是效率很重要,因爲滾動可能非常快(Seadragon本身對硬件要求相當高)。我希望快速和有點普遍...... – mgol

回答

0

好吧,這太簡單了,我爲自己感到羞愧。

document.elementFromPoint(x, y) 

它也幾乎普遍支持......我可能尋找某物命名爲喜歡getElementFromPointget部分誤導我。