Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在背景层上方获得适当的多重选择_Javascript_Jquery_Canvas_Fabricjs - Fatal编程技术网

Javascript 如何在背景层上方获得适当的多重选择

Javascript 如何在背景层上方获得适当的多重选择,javascript,jquery,canvas,fabricjs,Javascript,Jquery,Canvas,Fabricjs,我正在使用花式产品设计师,它使用fabricjs和canvas元素 我创建了以下场景: 在那里你可以看到很多层,比如背景(Hintergrund)、咖啡杯(Kaffeetasse)、松饼盒 我想在画布对象上启用多重选择 问题是,这也总是会选择背景层 当我只想通过单击并拖动一个选择框来选择杯子和围巾收件箱时,是否可以避免选择对象(如背景) 也许可以将单击-拖动事件分为两个步骤? 1.在未选中的对象上单击并拖动将打开选择框(将事件传递到画布背景)。 2.单击一个对象以将其选中,然后单击并拖动将移动

我正在使用花式产品设计师,它使用fabricjs和canvas元素

我创建了以下场景:

在那里你可以看到很多层,比如背景(Hintergrund)、咖啡杯(Kaffeetasse)、松饼盒

我想在画布对象上启用多重选择

问题是,这也总是会选择背景层

当我只想通过单击并拖动一个选择框来选择杯子和围巾收件箱时,是否可以避免选择对象(如背景)

也许可以将单击-拖动事件分为两个步骤? 1.在未选中的对象上单击并拖动将打开选择框(将事件传递到画布背景)。 2.单击一个对象以将其选中,然后单击并拖动将移动选定的对象

这将使行为更加一致(也可以考虑选择一堆对象并将它们一起移动),不是吗

你觉得怎么样?有没有关于如何正确实施的想法


谢谢

是否尝试将对象的可选属性设置为false? 简单到:

object.set({selectable: false});

为什么背景图像实际上不是织物画布中的背景图像?这就是FPD的工作方式。它使用户能够修改对象,但不能修改背景图像本身。因此,我必须将背景图像添加为对象。如果我将图层“Hintergrund”设置为“Selective:false”,则无法绘制选择框。只有当我通过单击图层面板中的锁定图标来完全禁用与它的所有交互时,我才能绘制一个框。但这不是我们需要的。我们需要的是在画布上选择对象的更通用的方法。第一次单击拖动应始终打开一个选择框。只有单击才能选择对象。