当画布元素上方有另一个元素时,我如何使画布元素中的处理脚本对光标做出反应

How can i make a processing-script in a canvas-element react to the cursor, when there is another element above the canvas-element?

本文关键字:元素 布元素 脚本 光标 处理 另一个 何使画      更新时间:2023-09-26

我为一个网站制作了背景动画。动画对光标位置作出反应。它是通过处理创建的。我通过画布元素把它放在了网站上。

现在我想在动画上面放一些html元素,主要是文本和一些简单的彩色div容器。我设法用属性positionz-index做到了这一点。

但现在,当然,如果光标在一个较高的z-index元素上,画布元素中的处理动画将不再对光标做出反应。

有没有一种方法可以让每个元素(无论其z位置如何)对光标做出反应?

我确信上次我看的时候有一个帮助我的答案,但既然它不见了,我会自己写一个答案来结束这个问题。感谢消失答案的创造者!

上一个答案建议通过上级元素的事件触发所需事件。这是有效的。

在我处理的特定问题中,最好的解决方案是将事件侦听器的触发器从processing.js中包含处理文件的canvas元素更改为窗口

例如,鼠标移动事件(通常):

//In the processing.js file, line 8332
attachEventHandler(curElement, "mousemove", function(e) {
  ...
}

改为以下工作刚刚好:

//In the processing.js file, line 8332
attachEventHandler(window, "mousemove", function(e) {
  ...
}