Javascript 是否允许鼠标事件通过Fabrixjs画布实例?

Javascript 是否允许鼠标事件通过Fabrixjs画布实例?,javascript,html5-canvas,fabricjs,Javascript,Html5 Canvas,Fabricjs,我已经有几年没有使用过Fabricjs,所以如果这是一个基本问题,请原谅我 我在一些按钮元素上添加了一个窗口大小的Canvas元素,我也希望用户能够单击这些按钮元素 Fabricjs中是否有允许鼠标事件传递到底层元素的属性?我一直在查看文档,但没有找到任何您可以使用的document.elementsFromPoint。单击左上角: let doc、html、bod、M、I、mobile、S、Q、aC、rC;//用于其他负载 addEventListener('load',()=>{ doc=

我已经有几年没有使用过
Fabricjs
,所以如果这是一个基本问题,请原谅我

我在一些按钮元素上添加了一个窗口大小的
Canvas
元素,我也希望用户能够单击这些按钮元素


Fabricjs
中是否有允许鼠标事件传递到底层元素的属性?我一直在查看文档,但没有找到任何您可以使用的
document.elementsFromPoint
。单击左上角:

let doc、html、bod、M、I、mobile、S、Q、aC、rC;//用于其他负载
addEventListener('load',()=>{
doc=document;html=doc.documentElement;bod=doc.body;nav=navigator;M=tag=>doc.createElement(tag);I=id=>doc.getElementById(id);
mobile=nav.userAgent.match(/Mobi/i)?真:假;
S=(选择器,在范围内)=>{
var w=在| | doc内;
返回w.querySelector(选择器);
}
Q=(选择器,内部)=>{
var w=在| | doc内;
返回w.querySelectorAll(选择器);
}
aC=函数(){
常量a=[].slice.call(参数);
a、 shift().classList.add(…a);
返回aC;
}
rC=函数(){
常量a=[].slice.call(参数);
a、 shift().classList.remove(…a);
返回rC;
}
//可以在除“结束加载”之外的其他页面上执行以下操作
const canvas=I('canvas')、ctx=canvas.getContext('2d')、test=I('test');
ctx.fillStyle='#070';ctx.fillRect(0,0,canvas.width,canvas.height);
test.onclick=()=>{
console.log(“测试工作”);
}
canvas.onclick=函数(e){
const all=doc.elementsFromPoint(e.clientX,e.clientY);
for(让q代表所有){
开关(q){
案例测试:
test.click();
打破
}
}
}
canvas.onmousemove=函数(e){
const all=doc.elementsFromPoint(e.clientX,e.clientY);
for(让q代表所有){
开关(q){
案例测试:
aC(这个“指针”);
打破
本案:
rC(这个“指针”);
打破
}
}
}
}); // 端部载荷
*{
框大小:边框框;
}
html,正文{
填充:0;边距:0;
}
html、正文、外部、画布{
宽度:100%;高度:100%;
}
#外{
位置:相对位置;
}
#外部>*{
位置:绝对位置;
}
.指针{
光标:指针;
}

我最终使用了“指针事件:无”作为内联样式应用于2个画布元素(第一个元素的类名为“lower canvas”,第二个元素的类名为“upper canvas”)和包装器div,fabric.canvas(…)构造函数是从我提供的画布元素创建的

这将允许鼠标事件传递到下面的元素

//设置要传递给FabricJS的香草画布
const canvasEl=document.createElement(“canvas”);
...
canvasEl.style.pointerEvents=“无”//这将被复制到FabricJS将在下面创建的2个画布元素上
文件.正文.附件(画布);
//FabricJS部分的开始
const canvas=new fabric.canvas(canvasEl);//创建div和2个canvas元素,并替换随它们传入的内容(在DOM中)
canvas.wrapperEl.style.pointerEvents=“无”//“wrapperEl”指的是div。我通过查看找到了它https://github.com/fabricjs/fabric.js/blob/master/dist/fabric.js 查看上画布和下画布的连接位置

谢谢。我想可能有一个属性我忽略了
allowClickThru=true