javascript - 如何在光标下的所有元素上调用 mouseover?

标签 javascript jquery html css svg

我有一个网络应用程序,每次单击时都会创建一个点(见下文)。当我将鼠标悬停在一堆点上时,我希望光标下的每个点都会触发 mouseover 或 mouseenter 事件。但是,只会触发一个事件,即堆栈“顶部”的点的事件。

当鼠标移动到一堆多个点上时,如何让鼠标悬停或鼠标输入事件为光标下的每个点(而不是不在光标下的点)触发? (开始编辑)此外, mouseout 或 mouseleave 事件应该仅在光标实际离开点时触发。 (编辑结束)

重要的是,图片中的整个黑色部分是 SVG,点都是 SVG 圆圈。每个点都是所有其他点的同级,并且都是 SVG 元素的子元素。

web app with dots showing

提前致谢!

最佳答案

获得第一个点后,将其 CSS“pointer-events”属性设置为“none”,然后调用 document.elementFromPoint使用您拥有的坐标。重复直到用完点。

执行此操作时,您可能需要抑制鼠标处理程序,这样当鼠标指针下的元素发生变化时,您就不会收到不需要的 mouseout/mouseenter 事件。

关于javascript - 如何在光标下的所有元素上调用 mouseover?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724176/

相关文章:

javascript - 如何在电子邮件中插入带有一些特殊字符的URL链接到:body?

javascript - 多个脚本还是一个?它可以支持重复吗?

javascript - JS 代码在 codepen 上运行缓慢,但在本地运行良好

css - 自定义形状的饼图

Jquery Draggable 和 Droppable,删除完整的 div 内容

javascript - 使用ajax和php上传多个文件

javascript - 数字生成器 - 两个单独的值

javascript - 如何用单引号替换嵌套在另一个双引号中的双引号

javascript - 等待一个 React CSS 动画结束后再开始另一个

javascript - 有人可以解释 setInterval 计数器如何工作吗?