怎么获取鼠标当前位置下的DOM元素的ID,或者判断当前位置有没有DOM元素?
鼠标是有图片跟随的,是用onmousemove方法写的,不知道会不会影响获取鼠标当前位置的DOM元素。
想过用碰撞的方法来实现,不过页面中DOM元素太多,碰撞的话只能一对一。跟随鼠标移动的图片占一个。那么剩下来的DOM元素怎么装入第二个位置,用数组吗.......不会,或者算法。。求指点。
怎么获取鼠标当前位置下的DOM元素的ID,或者判断当前位置有没有DOM元素?
鼠标是有图片跟随的,是用onmousemove方法写的,不知道会不会影响获取鼠标当前位置的DOM元素。
想过用碰撞的方法来实现,不过页面中DOM元素太多,碰撞的话只能一对一。跟随鼠标移动的图片占一个。那么剩下来的DOM元素怎么装入第二个位置,用数组吗.......不会,或者算法。。求指点。
只知道有个document.elementFromPoint()
和document.elementsFromPoint()
的API(注意区别是element后边有没有s),但是并没用过……所以不知道兼容怎样。可以参考MDN - elementsFromPoint以及javascript标准参考教程 - document 对象~
类似冷门的API不止这一个,比如可以参考jjc的你可能不知道的前端知识点
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.4k 阅读✓ 已解决
当前位置当然一定会有 DOM 元素啦,至少 body 和 document 元素是充满整个窗体空间的啊。哦,也可能你把 mousemove 绑定在 window 上,mousedown 时鼠标移出窗口也是会触发 mousemove 的,这个倒是要注意一样。
关键 API: document.elementFromPoint
嗯,你给一个 x,y 坐标,这个 API 就给你返回该点最上层的 DOM 元素。Caniuse.com 上显示这个 API 可是兼容到 IE6 呢!这么好用的 API 居然鲜有人知。elementFromPoint 兼容性
貌似鼠标跟随的元素就在最上层?没关系,给这个图片设置 css point-events: none,让它对鼠标形同虚设,这样 document.elementFromPoint 就能返回你要的 DOM 啦。