如何检查用户是否可以查看并单击元素?

时间:2016-01-15 17:36:10

标签: javascript jquery html css

使用document.elementFromPoint功能可以在页面中找到所有真正可见且可点击的元素。但是,它会为视口外的元素返回null

那么,如何在整页中找到所有可点击和可见元素?可见元素不仅限于样式。只需考虑一个容器<div>,它现在隐藏在所有子元素后面。因此,父<div>不再可见。

enter image description here

那么,您是否知道如何在页面中找到所有真正可见元素?在上面的示例中,显然“父<div>”实际上不可见。还有一些其他不可预测的情况,这些元素可能不可见,样式(displayvisibility等)可能无法表明。

我的最终目的:我想检查一个元素是否真的可见并且可以为最终用户点击。作为示例用例,我想查找用户可能单击的所有可能区域。

1 个答案:

答案 0 :(得分:-1)

我认为你误解了domApi中事件背后的基础知识。 在客户端发生的任何事件中都会有气泡和捕获。 你必须看到这样的代码document.addEventListener('click',function(){},false)

这意味着使用bubble而不是capture来处理事件。 所以实际可点击的dom元素与DOMJ是否使用气泡或捕获有关