【发布时间】:2023-03-23 00:15:01
【问题描述】:
可能重复:
How to get a list of all elements that resides at the clicked point?
我知道我可以使用document.elementFromPoint(x,y) 获得具有最高 z-index 的元素。
问题是我需要获取包含触摸事件位置的每个 div。
如何将触摸传播到下面的元素?
我看到了一些在重新生成事件时显示/隐藏元素的 hacky 解决方案,或者使用 css 的指针事件样式,但是我不能使用这些,它们可能会导致闪烁...
下图说明了我需要做什么:
如果紫色、绿色和蓝色框代表 div 元素,而红点是触摸位置,我需要一个返回“div3, div2, div1”的函数。
【问题讨论】:
-
我有一个plugin,不久前我做了一个与光标类似的操作。我很确定可以将相同的原理应用于触摸变量,但是,在工作中,我什至不能使用我的小提琴,更不用说看到我的旧代码了,我会尽量记住这个问题我今天回家和你确认。现在,我已经包含了一个指向我的插件的链接,也许你可以在那个“盒子”中找到你需要的东西。祝你好运!
-
它有一个函数可以返回光标下的所有元素,虽然我已经有一段时间没有使用它了,所以我不能确切地告诉你哪个是我的头顶(@ 987654323@)
-
您不必担心暂时隐藏元素,因为浏览器在函数结束之前不会重绘。
标签: javascript jquery click touch event-propagation