javascript - 对于两个重叠的 Canvas ,我可以将鼠标事件传递给底部的 Canvas 吗?

标签 javascript html canvas fabricjs

我正在尝试通过fabric.js绘制一些指导线,例如online editor app on printio.ru .

到目前为止,我在一页中放置了两个相同大小的 Canvas ,顶部的 Canvas 是静态工作 Canvas ,用于绘制一些引导线,底部的 Canvas 将包含一些交互式对象。这似乎就是他们在上面链接的页面中所做的事情。

但是,我无法使用底部 Canvas 上的这些对象,因为顶部 Canvas 会中断鼠标事件。有没有办法让鼠标事件传递到底部 Canvas ?我正在考虑在顶部 Canvas 上添加类似 canvas.mouseenabled=false 的内容 - 这可能吗?

我想到了一种替代解决方案:将引导线和其他对象放置在一个 Canvas 中。我不喜欢这个解决方案,因为它在底部 Canvas 上添加了我不想要的东西,在这种情况下,我必须添加一些线条实例,而不是仅仅通过 context2d 绘制线条,我认为这会给我带来低性能

最佳答案

应用 css 属性 指针事件:无 对于上层元素,鼠标事件可以通过。 https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

它将适用于现代浏览器。 http://caniuse.com/#feat=pointer-events

关于javascript - 对于两个重叠的 Canvas ,我可以将鼠标事件传递给底部的 Canvas 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29117711/

相关文章:

javascript - 如何在 google.maps.Circle 上使用 Google map InfoWindow()?

javascript - 如何将 jQuery 插件应用于同一页面上的多个 div?

javascript - 更改按钮的提交图像

Javascript undefined object 值

javascript - Underscore.js 过滤掉唯一值

html - Materialise Framework 导航高度更改

javascript - getImageData() 返回全零

javascript - 在 WebGL 与 WebGL 中模拟基于调色板的图形 Canvas 二维

javascript - 如何使用非递归算法填充区域?

javascript - 如何从该数组 Vue JS 显示 HTML