【问题标题】:How to detect which HTML element lies under given mouse coordinates? (Seadragon)如何检测哪个 HTML 元素位于给定的鼠标坐标下? (海龙)
【发布时间】:2012-11-11 11:53:25
【问题描述】:

我目前正在使用 Seadragon Ajax 技术(zoom.it 上的演示),添加自定义界面等。特别是,我正在添加一定数量的叠加层,这些叠加层需要捕获一些鼠标事件(如点击),但没有不需要捕捉其他人(如滚轮滚动)。

Seadragon 在滚动时使用鼠标指针位置来缩放图像的指定部分。我想在叠加层上捕获鼠标事件,但在 under 下传递其中的一些事件。因此,我正在寻找一种方法来实现以下功能:

  1. 取两个参数:理论鼠标位置,垂直和水平部分
  2. 找到代表 HTML 元素的 DOM 元素,该元素将在给定坐标处捕获鼠标事件
  3. 将鼠标事件传递给该元素

问题是,我不知道如何可靠地执行第二步。 Seadragon 创建了许多 div,其中包含带有图形的图块,每次平移或缩放图像时它们都会改变。因此,我不能只是索引它,我需要一种动态检测它的方法。

如果有任何帮助和/或想法,我将不胜感激。

【问题讨论】:

  • 一种方法(虽然效率不高)可能是迭代 DOM 元素并查找给定位置是否在元素的边界内。如果这种方法是可以接受的,我可以给出一些示例代码来展示如何做到这一点
  • 不幸的是,效率很重要,因为滚动可能非常快(Seadragon 本身对硬件要求很高)。我希望有一些快速和通用的东西......

标签: ajax events mouse seadragon


【解决方案1】:

好吧,这太简单了,我为自己感到羞耻。

document.elementFromPoint(x, y)

它也几乎得到普遍支持...我可能正在寻找类似 @​​987654322@ 的东西,而这个 get 部分误导了我。

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 2010-11-30
    相关资源
    最近更新 更多