在相同的html canvas元素上放置并创建Fabric画布后,无法选择对象

ush

这是Codepen的例子

基本上:

let fabricCanvas = new fabric.Canvas('c');
fabricCanvas.add(
  new fabric.Rect({ left: 10, top: 10, fill: 'red', width: 20, height: 20 })
); // 1. Initialize fabric wrapper for the 1st time
fabricCanvas.dispose(); // 2. Dispose it
fabricCanvas = new fabric.Canvas('c');    
fabricCanvas.add(
  new fabric.Rect({ left: 100, top: 100, fill: 'red', width: 20, height: 20 })
); // 3. Initialize fabric wrapper for the 2nd time

在第二次处理并创建了fabric.Canvas之后,无法选择画布上的对象。如何在不创建新的html canvas元素的情况下使其工作?

夏尔马水库

我不知道使用时会发生什么,dispose()因为我玩弄了一下,才发现背后的原因是什么。

当我们dispose()fabricjs织物创建一个新的画布时,另外还要添加另一个上面的画布,这是个问题。因此我们在使用时会以编程方式删除上层画布dispose()问题解决了。

这里

var canvas  = new fabric.Canvas('c');
var rect = new fabric.Rect({
        left: 100,
        top: 100,
        fill:  "#FF0000",
        stroke: "#000",
        width: 100,
        height: 100,
        strokeWidth: 10, 
        opacity: .8      
    });

canvas.add(rect);

canvas.dispose()

$(".upper-canvas").remove();     //<------- here we remove

canvas  = new fabric.Canvas('c');

 var rect2 = new fabric.Rect({
        left: 100,
        top: 100,
        fill:  "green",
        stroke: "#000",
        width: 100,
        height: 100,
        strokeWidth: 10, 
        opacity: .8      
    });
canvas.add(rect2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>


<canvas id="c" width="500" height="300"></canvas>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确保canvas的html视频大小相同?

来自分类Dev

HTML 5 Canvas toDATAURL始终相同

来自分类Dev

Vue.js重用相同的HTML元素

来自分类Dev

具有相同ID的HTML元素

来自分类Dev

HTML CSS相同的表格无法对齐

来自分类Dev

BeautifulSoup无法读取相同的HTML源代码

来自分类Dev

防止用户在选择html时选择相同的值

来自分类Dev

使用 JavaScript 的 HTML DOM 选择对象

来自分类Dev

HTML Multiple选项以相同的名称选择“多次框”

来自分类常见问题

在JavaScript HTML中呈现具有相同ID的多个元素

来自分类常见问题

如何设置HTML元素填充颜色与正文颜色相同

来自分类Dev

区分具有相同类的两个html元素

来自分类Dev

在JavaScript HTML中呈现具有相同ID的多个元素

来自分类Dev

如何设置HTML元素填充颜色与正文颜色相同

来自分类Dev

在Selenium中查找具有相同html属性的元素

来自分类Dev

区分具有相同类的两个html元素

来自分类Dev

如何为不同的 html 元素执行相同的 JQuery 代码?

来自分类Dev

如何让这个 jQuery 代码在相同的 html 元素上工作?

来自分类Dev

Ruby 从具有相同元素的 HTML 表中获取值

来自分类Dev

jquery影响具有相同类的所有html元素

来自分类Dev

我无法获得相同大小的图像[HTML / CSS]

来自分类Dev

在相同的html页面google maps上使用initMap和initAutocomplete

来自分类Dev

HTML Canvas 使用相同的颜色绘制所有对象,尽管它们的颜色属性不同

来自分类Dev

如何在HTML canvas中创建相同形状的多个实例?

来自分类Dev

如何将相同样式从HTML更改的元素应用于HTML不变的样式?

来自分类Dev

如何将相同样式从HTML更改的元素应用于HTML不变的样式?

来自分类Dev

选择具有相同ID的第n个html DOM元素

来自分类Dev

选择具有相同ID的第n个html DOM元素

来自分类Dev

AMP 表单 - 在表单提交后显示相同的 html 并带有一些附加元素

Related 相关文章

  1. 1

    如何确保canvas的html视频大小相同?

  2. 2

    HTML 5 Canvas toDATAURL始终相同

  3. 3

    Vue.js重用相同的HTML元素

  4. 4

    具有相同ID的HTML元素

  5. 5

    HTML CSS相同的表格无法对齐

  6. 6

    BeautifulSoup无法读取相同的HTML源代码

  7. 7

    防止用户在选择html时选择相同的值

  8. 8

    使用 JavaScript 的 HTML DOM 选择对象

  9. 9

    HTML Multiple选项以相同的名称选择“多次框”

  10. 10

    在JavaScript HTML中呈现具有相同ID的多个元素

  11. 11

    如何设置HTML元素填充颜色与正文颜色相同

  12. 12

    区分具有相同类的两个html元素

  13. 13

    在JavaScript HTML中呈现具有相同ID的多个元素

  14. 14

    如何设置HTML元素填充颜色与正文颜色相同

  15. 15

    在Selenium中查找具有相同html属性的元素

  16. 16

    区分具有相同类的两个html元素

  17. 17

    如何为不同的 html 元素执行相同的 JQuery 代码?

  18. 18

    如何让这个 jQuery 代码在相同的 html 元素上工作?

  19. 19

    Ruby 从具有相同元素的 HTML 表中获取值

  20. 20

    jquery影响具有相同类的所有html元素

  21. 21

    我无法获得相同大小的图像[HTML / CSS]

  22. 22

    在相同的html页面google maps上使用initMap和initAutocomplete

  23. 23

    HTML Canvas 使用相同的颜色绘制所有对象,尽管它们的颜色属性不同

  24. 24

    如何在HTML canvas中创建相同形状的多个实例?

  25. 25

    如何将相同样式从HTML更改的元素应用于HTML不变的样式?

  26. 26

    如何将相同样式从HTML更改的元素应用于HTML不变的样式?

  27. 27

    选择具有相同ID的第n个html DOM元素

  28. 28

    选择具有相同ID的第n个html DOM元素

  29. 29

    AMP 表单 - 在表单提交后显示相同的 html 并带有一些附加元素

热门标签

归档